PDA

View Full Version : حرفه ای: ثبت کردن در بانک توسط چند کاربر



mostafa_bahar
جمعه 02 بهمن 1394, 23:38 عصر
دوستان برنامه ای تحت شبکه نوشتم که مثلا چند کاربر با هم اطلاعات می تونن وارد بانک کنن خوب کلید اصلی بانک از نوع اتومات می باشد که احتیاج به محاسبه نباشه و کمترین تداخل
را با هم داشته باشه حالا چند تا سوال
من از دستورات ado استفاده می کنم برای کار روی بانک می خوام با دستورات مستقیم sql عمل ثبت را انجام دهم مشکل اینه که وقتی insert می کنم باید مقدار کلید اصلی رو بگیرم و در جدول دیگه ای
که موجود است وارد کنم مثلا جدول فاکتور و جدول ریز فاکتور

sql=insert into table1 values(name,date1,time1,mablagh)
con.execute(sql)
insert into table2 values(radif,name,idk,mablagh,?))
در قسمت علامت سوال باید کلید اصلی table1 قرار گیرد خوب نمی تونم مقدار اونو داشته باشم اومدم از max استفاده کنم ولی اگر در این بین همزمانی با کاربر دیگه بوجود بیاد مشکل ساز میشه تصمیم گرفت از lock کردن جدول استفاده کنم لطفا راهنمایی کنید اگر راه دیگه ای اره یا همون lock خوبه ولی اونم یاد ندارم لطفا راهنمایی کنید در ضمن sql2000 استفاده می کنم

kitcat_m18
پنج شنبه 15 بهمن 1394, 17:32 عصر
سلام

شما داری تو دو مرحله اینکارو انجام میدی
اگه از پایگاه داده SQL Server استفاده می کنی می تونی این کار رو تو یک عملیات انجام بدی
حالا اینکه چجوری انجامش بدی چندین راه داری،
مثلا یه تریگر بنویسی و اونجا اینکارو انجام بدی

یا مثلا از این دستور استفاده کنی
INSERT INTO [xyz].[myTable] (Field1, Field2, Field3) OUTPUT Inserted.ID VALUES (1, 2, '3')

از پروسیجر هم می تونی استفاده کنی

در رابطه با هر کدوم از این روش ها یه سرچ تو گوگل کن جزئیاتش رو متوجه میشی

موفق باشی :لبخندساده: