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

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

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

sql server

מתוזמן נעוץ נעול הועבר תוכנה
29 פוסטים 2 כותבים 792 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
            • 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
                • OdedDvirO מחובר
                  OdedDvirO מחובר
                  OdedDvir
                  השיב לשרה רחל ב נערך לאחרונה על ידי OdedDvir
                  #14

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

                  מה הכוונה של DOC

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

                  תגובה 1 תגובה אחרונה
                  1
                  • OdedDvirO מחובר
                    OdedDvirO מחובר
                    OdedDvir
                    השיב לשרה רחל ב נערך לאחרונה על ידי
                    #15

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

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

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

                      SELECT IDENT_CURRENT('DOC') AS D_ID

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

                      OdedDvirO תגובה 1 תגובה אחרונה
                      0
                      • 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
                                • 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
                                      • 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

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

                                          • אין לך חשבון עדיין? הרשמה

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