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

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

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

sql server

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

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

                        ב2 המקרים בקריאה דרך ויזואל סטודיו מחזיר את אותה השגיאה שצינתי לעי

                        סליחה
                        דרך הSQL SERVER
                        זה כן מחזיר לי ערכים
                        השגיאה היא רק דרך VISUAL STUDIO

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

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

                          השגיאה היא רק דרך VISUAL STUDIO

                          התחביר שאתם מריצים ב VS לא תקין.
                          תנסו את הקוד הבא:

                           public int InsertDoc( string docName, string autherName, string docPath, DateTime docDate)
                          {
                              using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.CnnVal("lib`")))
                              {
                                  SqlCommand command = new SqlCommand("dbo.INSERT_DOC", connection);
                                  command.Connection.Open();
                                  command.CommandType = CommandType.StoredProcedure;
                                  command.Parameters.AddWithValue("@docName", docName);
                                  command.Parameters.AddWithValue("@autherName", autherName);
                                  command.Parameters.AddWithValue("@docPath", docPath);
                                  command.Parameters.AddWithValue("@docDate", docDate);
                                  return Convert.ToInt32(command.ExecuteScalar());
                               }
                          }
                          
                          תגובה 1 תגובה אחרונה
                          2
                          • OdedDvirO מחובר
                            OdedDvirO מחובר
                            OdedDvir
                            השיב לשרה רחל ב נערך לאחרונה על ידי
                            #29

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

                            וכשאני מריצה את ה פרוצדורה עם השורה SELECT SCOPE_IDENTITY() as D_ID
                            הוא מחזיר לי את העמודה הרלוונטית

                            תשאירו את הפרוצדורה המקורית בשימוש עם ExecuteScalar כנ"ל

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

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

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

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