דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תוכנה
  3. sql server

הפורום כעת לקריאה בלבד, לקריאה נוספת.

sql server

מתוזמן נעוץ נעול הועבר תוכנה
29 פוסטים 2 כותבים 1.3k צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ש שרה רחל

    אולי ההמרה של הDATE משפת C# בויזואל סטודיו שהוא מסוג DateTime
    לSQL SERVER מסוג DATE
    שגויה ?

    OdedDvirO
    OdedDvirO
    OdedDvir
    כתב ב נערך לאחרונה על ידי
    #7

    @שרה-רחל

    1. האם ההכנסה הראשונה מתבצעת כראוי?
    2. האם בהכנסה השנייה הערך AUTHER_ID שמוכנס ל-DOC הוא כן תקין?

    לא עניתם על השאלות...

    תגובה 1 תגובה אחרונה
    0
    • ש
      ש
      שרה רחל
      כתב ב נערך לאחרונה על ידי
      #8

      כן
      ההכנסות מתבצעות כראוי

      OdedDvirO תגובה 1 תגובה אחרונה
      0
      • ש שרה רחל

        כן
        ההכנסות מתבצעות כראוי

        OdedDvirO
        OdedDvirO
        OdedDvir
        כתב ב נערך לאחרונה על ידי OdedDvir
        #9

        @שרה-רחל אמר בsql server:

        ההכנסות מתבצעות כראוי

        אם ההכנסות מתבצעות כראוי, אז כנראה אין בעיה בקריאה מ-C#.
        מדוע השדה DOC_PATH מוגדר כ INT אבל הפרמטר @docPath כ NVARCHAR?

        תגובה 1 תגובה אחרונה
        0
        • ש
          ש
          שרה רחל
          כתב ב נערך לאחרונה על ידי
          #10

          טעות

          [DOC_NAME]nvarchar(50
                     ,[AUTHER_ID]-)int
                -     ,[DOC_PATH]-nvarchar(50
                     ,[DOC_DATE]-DATE
          
          תגובה 1 תגובה אחרונה
          0
          • ש
            ש
            שרה רחל
            כתב ב נערך לאחרונה על ידי
            #11

            איך אני גורמת לפרוצדורה להחזיר את הערך של הID האחרון שהוכנס לDOC

            OdedDvirO תגובה 1 תגובה אחרונה
            0
            • ש שרה רחל

              איך אני גורמת לפרוצדורה להחזיר את הערך של הID האחרון שהוכנס לDOC

              OdedDvirO
              OdedDvirO
              OdedDvir
              כתב ב נערך לאחרונה על ידי
              #12

              @שרה-רחל בעיקרון SCOPE_IDENTITY() אמור לעבוד.
              תנסו אולי כך:

              SELECT IDENT_CURRENT('DOC') AS D_ID
              
              תגובה 1 תגובה אחרונה
              1
              • ש
                ש
                שרה רחל
                כתב ב נערך לאחרונה על ידי
                #13

                @OdedDvir אמר בsql server:

                SELECT IDENT_CURRENT('DOC') AS D_ID

                מה הכוונה של DOC
                למה לא DOC_ID

                OdedDvirO 2 תגובות תגובה אחרונה
                0
                • ש שרה רחל

                  @OdedDvir אמר בsql server:

                  SELECT IDENT_CURRENT('DOC') AS D_ID

                  מה הכוונה של DOC
                  למה לא DOC_ID

                  OdedDvirO
                  OdedDvirO
                  OdedDvir
                  כתב ב נערך לאחרונה על ידי OdedDvir
                  #14

                  @שרה-רחל אמר בsql server:

                  מה הכוונה של DOC

                  כך הוא התחביר של IDENT_CURRENT, צריך לציין את שם הטבלה שממנה שולפים את שדה הזהות.

                  תגובה 1 תגובה אחרונה
                  1
                  • ש שרה רחל

                    @OdedDvir אמר בsql server:

                    SELECT IDENT_CURRENT('DOC') AS D_ID

                    מה הכוונה של DOC
                    למה לא DOC_ID

                    OdedDvirO
                    OdedDvirO
                    OdedDvir
                    כתב ב נערך לאחרונה על ידי
                    #15

                    @שרה-רחל נשמח להתעדכן אם הבעיה נפתרה וכיצד.

                    תגובה 1 תגובה אחרונה
                    0
                    • ש
                      ש
                      שרה רחל
                      כתב ב נערך לאחרונה על ידי
                      #16

                      @שרה-רחל אמר בsql server:

                      SELECT IDENT_CURRENT('DOC') AS D_ID

                      עדיין מחזיר -1

                      OdedDvirO תגובה 1 תגובה אחרונה
                      0
                      • ש שרה רחל

                        @שרה-רחל אמר בsql server:

                        SELECT IDENT_CURRENT('DOC') AS D_ID

                        עדיין מחזיר -1

                        OdedDvirO
                        OdedDvirO
                        OdedDvir
                        כתב ב נערך לאחרונה על ידי
                        #17

                        @שרה-רחל מעניין...
                        האם תוכלו לפרט את הגדרות הטבלאות ב-SQL?

                        תגובה 1 תגובה אחרונה
                        0
                        • ש
                          ש
                          שרה רחל
                          כתב ב נערך לאחרונה על ידי
                          #18

                          יש פקודה שמיצאת את כל הבסיסי נתונים ?

                          OdedDvirO תגובה 1 תגובה אחרונה
                          0
                          • ש
                            ש
                            שרה רחל
                            כתב ב נערך לאחרונה על ידי
                            #19

                            Annotation 2020-07-17 011406.png

                            תגובה 1 תגובה אחרונה
                            0
                            • ש שרה רחל

                              יש פקודה שמיצאת את כל הבסיסי נתונים ?

                              OdedDvirO
                              OdedDvirO
                              OdedDvir
                              כתב ב נערך לאחרונה על ידי OdedDvir
                              #20

                              @שרה-רחל אמר בsql server:

                              יש פקודה שמיצאת את כל הבסיסי נתונים ?

                              לא צריך את הכל. רק את שתי הטבלאות הנ"ל.
                              בSSMS קליק ימני על הטבלה >
                              Script Table as > CREATE to > New Query Editor window

                              30f70b99-8f00-433b-8399-d81e56da3ba1-תמונה.png

                              ולהעתיק את תוכן החלון שנפתח

                              תגובה 1 תגובה אחרונה
                              0
                              • ש
                                ש
                                שרה רחל
                                כתב ב נערך לאחרונה על ידי
                                #21
                                USE [lib]
                                GO
                                
                                /****** Object:  Table [dbo].[AUTHER]    Script Date: 7/17/2020 7:55:40 AM ******/
                                SET ANSI_NULLS ON
                                GO
                                
                                SET QUOTED_IDENTIFIER ON
                                GO
                                
                                CREATE TABLE [dbo].[AUTHER](
                                	[AUTHER_ID] [int] IDENTITY(1,1) NOT NULL,
                                	[AUTHER_NAME] [nvarchar](50) NULL,
                                 CONSTRAINT [PK_AUTHER] PRIMARY KEY CLUSTERED 
                                (
                                	[AUTHER_ID] ASC
                                )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
                                ) ON [PRIMARY]
                                GO
                                
                                
                                USE [lib]
                                GO
                                
                                /****** Object:  Table [dbo].[DOC]    Script Date: 7/17/2020 7:56:12 AM ******/
                                SET ANSI_NULLS ON
                                GO
                                
                                SET QUOTED_IDENTIFIER ON
                                GO
                                
                                CREATE TABLE [dbo].[DOC](
                                	[DOC_ID] [int] IDENTITY(1,1) NOT NULL,
                                	[DOC_NAME] [nvarchar](50) NULL,
                                	[AUTHER_ID] [int] NULL,
                                	[DOC_PATH] [nvarchar](50) NOT NULL,
                                	[DOC_DATE] [date] NULL,
                                 CONSTRAINT [PK_DOC] PRIMARY KEY CLUSTERED 
                                (
                                	[DOC_ID] ASC
                                )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
                                ) ON [PRIMARY]
                                GO
                                
                                ALTER TABLE [dbo].[DOC]  WITH CHECK ADD  CONSTRAINT [FK_DOC_AUTHER] FOREIGN KEY([AUTHER_ID])
                                REFERENCES [dbo].[AUTHER] ([AUTHER_ID])
                                GO
                                
                                ALTER TABLE [dbo].[DOC] CHECK CONSTRAINT [FK_DOC_AUTHER]
                                GO
                                
                                

                                אולי צריך להגדיר בפרוצדורה RETURN?

                                OdedDvirO תגובה 1 תגובה אחרונה
                                0
                                • ש שרה רחל
                                  USE [lib]
                                  GO
                                  
                                  /****** Object:  Table [dbo].[AUTHER]    Script Date: 7/17/2020 7:55:40 AM ******/
                                  SET ANSI_NULLS ON
                                  GO
                                  
                                  SET QUOTED_IDENTIFIER ON
                                  GO
                                  
                                  CREATE TABLE [dbo].[AUTHER](
                                  	[AUTHER_ID] [int] IDENTITY(1,1) NOT NULL,
                                  	[AUTHER_NAME] [nvarchar](50) NULL,
                                   CONSTRAINT [PK_AUTHER] PRIMARY KEY CLUSTERED 
                                  (
                                  	[AUTHER_ID] ASC
                                  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
                                  ) ON [PRIMARY]
                                  GO
                                  
                                  
                                  USE [lib]
                                  GO
                                  
                                  /****** Object:  Table [dbo].[DOC]    Script Date: 7/17/2020 7:56:12 AM ******/
                                  SET ANSI_NULLS ON
                                  GO
                                  
                                  SET QUOTED_IDENTIFIER ON
                                  GO
                                  
                                  CREATE TABLE [dbo].[DOC](
                                  	[DOC_ID] [int] IDENTITY(1,1) NOT NULL,
                                  	[DOC_NAME] [nvarchar](50) NULL,
                                  	[AUTHER_ID] [int] NULL,
                                  	[DOC_PATH] [nvarchar](50) NOT NULL,
                                  	[DOC_DATE] [date] NULL,
                                   CONSTRAINT [PK_DOC] PRIMARY KEY CLUSTERED 
                                  (
                                  	[DOC_ID] ASC
                                  )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
                                  ) ON [PRIMARY]
                                  GO
                                  
                                  ALTER TABLE [dbo].[DOC]  WITH CHECK ADD  CONSTRAINT [FK_DOC_AUTHER] FOREIGN KEY([AUTHER_ID])
                                  REFERENCES [dbo].[AUTHER] ([AUTHER_ID])
                                  GO
                                  
                                  ALTER TABLE [dbo].[DOC] CHECK CONSTRAINT [FK_DOC_AUTHER]
                                  GO
                                  
                                  

                                  אולי צריך להגדיר בפרוצדורה RETURN?

                                  OdedDvirO
                                  OdedDvirO
                                  OdedDvir
                                  כתב ב נערך לאחרונה על ידי
                                  #22

                                  @שרה-רחל אוקי.
                                  אחרי קצת חיפושים, מצאתי את הפוסט הזה שדן בבעיה. על פי האמור שם, הבעייה נמצאת באמת בקריאה לפרוצדורה מתוך C#.
                                  בקריאה יש להשתמש ב ExecuteScalar במקום ב Execute.
                                  נשמח להתעדכן אם אכן הפעיה נפתרה

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • ש
                                    ש
                                    שרה רחל
                                    כתב ב נערך לאחרונה על ידי
                                    #23

                                    @OdedDvir אמר בsql server:

                                    ExecuteScalar

                                    זה הקוד של השליחה לפונקציה ושיניתי כאמור כפי שכתבתם רק עכשיו זה מתריע לי שהפונקיה מחזירה OBJECTולא INT

                                     public int InsertDoc( string docName, string autherName, string docPath, DateTime docDate)
                                            {
                                                using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("lib`")))
                                                {
                                                   
                                                    List<Doc> doc = new List<Doc>();
                                    
                                                    doc.Add(new Doc { DocName = docName , autherName = autherName, DocPath = docPath , DocDate = docDate });
                                    
                                                    return connection.ExecuteScalar("dbo.INSERT_DOC @docName, @autherName, @docPath, @docDate", doc);
                                    
                                                }
                                            }
                                    
                                    תגובה 1 תגובה אחרונה
                                    0
                                    • ש
                                      ש
                                      שרה רחל
                                      כתב ב נערך לאחרונה על ידי
                                      #24

                                      מנסה להמיר לINT

                                                      return Convert.ToInt32(connection.ExecuteScalar("dbo.INSERT_DOC @docName, @autherName, @docPath, @docDate", doc));
                                      

                                      ומחזיר לי את השגיאה בהרצה An enumerable sequence of parameters (arrays, lists, etc) is not allowed in this context

                                      OdedDvirO תגובה 1 תגובה אחרונה
                                      0
                                      • ש שרה רחל

                                        מנסה להמיר לINT

                                                        return Convert.ToInt32(connection.ExecuteScalar("dbo.INSERT_DOC @docName, @autherName, @docPath, @docDate", doc));
                                        

                                        ומחזיר לי את השגיאה בהרצה An enumerable sequence of parameters (arrays, lists, etc) is not allowed in this context

                                        OdedDvirO
                                        OdedDvirO
                                        OdedDvir
                                        כתב ב נערך לאחרונה על ידי
                                        #25

                                        @שרה-רחל אני חושב שזה בגלל שהפרוצדורה מחזירה רשומה ולא ערך יחיד.
                                        תנסו להחליף את הערך המוחזר בפרוצדורה.
                                        במקום:

                                        SELECT SCOPE_IDENTITY() as D_ID
                                        

                                        לרשום:

                                        RETURN SCOPE_IDENTITY()
                                        
                                        תגובה 1 תגובה אחרונה
                                        2
                                        • ש
                                          ש
                                          שרה רחל
                                          כתב ב נערך לאחרונה על ידי
                                          #26

                                          @OdedDvir אמר בsql server:

                                          RETURN SCOPE_IDENTITY()

                                          לא עזר
                                          ניסיתי גם להריץ דרך הSQL SERVER ישירות
                                          וכשאני מריצה את ה פרוצדורה עם השורה SELECT SCOPE_IDENTITY() as D_ID
                                          הוא מחזיר לי את העמודה הרלוונטית
                                          וכשאני מריצה עם השורה RETURN SCOPE_IDENTITY()
                                          הוא כותב שזה עבר ולא מחזיר לי ערך
                                          ב2 המקרים בקריאה דרך ויזואל סטודיו מחזיר את אותה השגיאה שצינתי לעיל
                                          תודה

                                          OdedDvirO תגובה 1 תגובה אחרונה
                                          0

                                          שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                          נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                          בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                          הרשמה התחברות
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום