تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] الاضافة المتعددة بوقت واحد لاكتر من جهاز
#1
Lightbulb 
السلام عليكم ورحمة الله وبركاتة 

احنا لو قمنا بالاضافة باستخدام سيكول سيرفر 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
الرد
تم الشكر بواسطة:
#2
قد يكون الحل في هذه الطريقه
https://stackoverflow.com/questions/9842...-inserting
الرد
تم الشكر بواسطة:
#3
(09-01-21, 12:44 AM)Ashref كتب : قد يكون الحل في هذه الطريقه
https://stackoverflow.com/questions/9842...-inserting

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

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

https://dba.stackexchange.com/questions/...-same-time
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم