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

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

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

sql server

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