منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الاضافة المتعددة بوقت واحد لاكتر من جهاز
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاتة 

احنا لو قمنا بالاضافة باستخدام سيكول سيرفر 2014 كقاعدة بيانات مرفوعة اونلاين  .

اولا عندنا اجراء مخزن واستدعاء الاجراء للاضافة باكتر من جهاز  .

كل شيء تمام المشكلة تحدث لما يكون فية اكتر من جهاز  شغالين  بنفس الوقت مع بعض مثلا في انشاء فاتورة بيع طبعا ممكن اكتر من سيسيتم شغال في نفس الوقت ..
يحدث خطاء sql confilict تابعت اكتر من منتدي بس لم اصل لحل . لان عندي مشكلة بجهاز فبجرب بجهاز واحد ياريت حد يضع حل مجرب للمشكلة لان ممكن السيستم يشتغل بعدد لامحدود من الاجهزة ممكن2 او 4 او 3 ...؟؟  
قمت بوضع مثال بسيط للشرح والتوضيح 
دة كود الاجراء المخزن 


كود :
USE [DATA_TRIALMULYIINSERT]
GO
/****** Object:  StoredProcedure [dbo].[insertooks]    Script Date: 1/8/2021 9:39:54 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER  PROCEDURE  [dbo].[inserTb]  
  @MULTIINSERT_CODE                    NVARCHAR(50)  = NULL   ,    
     @MULTIINSERT_NAME                 NVARCHAR(50)  = NULL   ,    
    @MULTIINSERT_DATE                 DATETIME      = NULL  
AS  
BEGIN  
SET NOCOUNT ON  
INSERT INTO MULTIINSERT_TB
     (                    
       MULTIINSERT_CODE,  
       MULTIINSERT_NAME,  
      MULTIINSERT_DATE
             
     )

VALUES
     (
       @MULTIINSERT_CODE  ,
       @MULTIINSERT_NAME ,
       @MULTIINSERT_DATE                
     )

END

دة كود الاضافة بالفورم .


كود :
Sub ADDDATA()

       Try
           Dim com As New SqlCommand()
           com.CommandType = CommandType.StoredProcedure
           com.CommandText = "inserTb"

                      com.Parameters.AddWithValue("@MULTIINSERT_CODE", SqlDbType.NVarChar).Value = TextBox1.Text
           com.Parameters.AddWithValue("@MULTIINSERT_NAME", SqlDbType.NVarChar).Value = TextBox2.Text
           com.Parameters.AddWithValue("@MULTIINSERT_DATE ", SqlDbType.Date).Value = DateTimePicker1.Value

           com.Connection = con
           con.Open()
           com.ExecuteNonQuery()
           con.Close()

           MsgBox("Record inserted successfully")
       Catch ex As Exception
           MsgBox(ex.Message)
       Finally
           con.Close()
           con.Dispose()
       End Try
قد يكون الحل في هذه الطريقه
https://stackoverflow.com/questions/9842...-inserting
(09-01-21, 12:44 AM)Ashref كتب : [ -> ]قد يكون الحل في هذه الطريقه
https://stackoverflow.com/questions/9842...-inserting

كدة انا قفلت الجدول مش هقدر اعمل اضافة ولا استعلام ولا تعديل ولا اي شيء الا لما الاضافة تنتهي .

في طريقة شوفتها بس ما ضبط الاجراء المخزن معايا 

https://dba.stackexchange.com/questions/...-same-time