PDA

View Full Version : دستور insert ,حذف ,ویرایش برای دو جدول که با همدر ارتباط هستند



andaron
سه شنبه 19 بهمن 1389, 15:59 عصر
با سلام
دو جدول داریم که فیلدی در هردو با هم در ارتباط هستندیکی از دوستان برام دستور select رونوشت ولی بقیه موارد مانند مانند insert و ویرایش و و حذف مشکل دارم

دوستان کمک کنند

حمیدرضاصادقیان
سه شنبه 19 بهمن 1389, 20:58 عصر
سلام.
دوست عزیز سوال شما سخت نیست گنگه!
الان مشکل شما در insert چی هست. ؟ میخواهید چیکار کنید؟
ساختار جداولتون چه شکلی هست؟
کامل توضیح ندادید

andaron
سه شنبه 19 بهمن 1389, 22:17 عصر
آقا شرمنده من فکر کردم منظورمو رسوندم پس مشکل از طرز بیان من بوده
من دو تا جدول دارم در که یک فیلد با نام rannade_id در دو جدول قرار دارم در جدول اول این فیلد کلید اصلی هستش حالا من روی فرمم (C#) تکس باکس هایی دارم که مقادیری که در این تکس باکس ها قرار داده می شود با زدن ok می خوام وارد دو جدول بشوند و چون متدی که من نوشتم فقط یک کد sql می گیرد می خوام با یک کد مقادیر گرفته شده رو در دو جدول قرار بدم
من برای قرار دادن مقادیر در یک جدول از کد زیر استفاده می کنم




string sql = @"Insert into Table_ranande(ranande_name,ranande_famili,ranande_ phone,ranande_mobile1,ranande_mobile2,
ranande_address,ranande_shomare_hesab,ranande_meli ,ranande_shomare_shenasname,ranande_tahole,ranande _age_date)" +
"values(N'{0}',N'{1}',N'{2}',N'{3}',N'{4}',N'{5}',N '{6}',N'{7}',N'{8}',N'{9}',N'{10}')";
//,ranande_date_sabt,
sql = string.Format(sql, this.name, this.famili,this.phone,this.mobile1,this.mobile2,t his.address,this.shomare_hesab,this.meli_no,this.s homare_shenasname,this.tahole,this.age_date);
dsql.data_new_connect();
dsql.data_connect();
dsql.docommand(sql);
dsql.data_disconnect();


من با این کد براحتی در جدول مورد نظر یک اطلاعات جدید وارد می کنم حالا نمی دونم چطور بگم دو جدول را باهم وارد کم

AmirHarirbafan
چهارشنبه 20 بهمن 1389, 01:35 صبح
هنوز هم زیاد واضح نیست.
در یک لحظه نمیشه در دو جدول اطلاعات درج نمود. برای همین شما به نوبت باید اطلاعات رو در جدولهاتون درج کنید.
اگه فیلد کلید جدول اولتون از نوع Identity هست و میخواهید بفهمید بعد از ذخیره سازی چه عدد بهش اختصاص داده شده میتونید از دستور زیر استفاده کنید


select SCOPE_IDENTITY()

andaron
چهارشنبه 20 بهمن 1389, 02:14 صبح
ممنون دوست عزیز پس در یک لحظه ما نمی تونیم دو جدول را اپدیت کنیم

درسته
باشتکر

najmehdj
چهارشنبه 20 بهمن 1389, 09:04 صبح
پس برای فرم های که داده ها انها باید در 2جدول ثبت شه باید چی کار کرد؟

حمیدرضاصادقیان
چهارشنبه 20 بهمن 1389, 20:14 عصر
سلام.
چرا شما میتوانید همزمان در دو جدول اطلاعات رو وارد کنید.
میتوانید دو دستور Insert رو داخل یک Transaction قراربدید.
یا میتوانید روی جدول اول یک تریگر نوشته و به محض ورود اطلاعات در جدول اول ، همزمان در جدول دوم وارد خواهد شد.در لینکهای زیر در هردومورد توضیح کامل داده شده است.
Transaction (http://msdn.microsoft.com/en-us/library/ms188929.aspx)
Trigger (http://www.sqlteam.com/article/an-introduction-to-triggers-part-i)

AmirHarirbafan
یک شنبه 24 بهمن 1389, 01:38 صبح
چرا شما میتوانید همزمان در دو جدول اطلاعات رو وارد کنید.
میتوانید دو دستور Insert رو داخل یک Transaction قراربدید.
یا میتوانید روی جدول اول یک تریگر نوشته و به محض ورود اطلاعات در جدول اول ، همزمان در جدول دوم وارد خواهد شد.در لینکهای زیر در هردومورد توضیح کامل داده شده است.
به هر حال باز هم باید دوتا دستور Insert نوشته بشه.

حمیدرضاصادقیان
یک شنبه 24 بهمن 1389, 23:12 عصر
به هر حال باز هم باید دوتا دستور Insert نوشته بشه.

بله دوتا نوشته میشه. ولی اینکه شما میفرمائید همزمان نمیشه Insert کرد حرف صحیحی نیست. چون در داخل Transaction تاکید میشه یا هردو باهم انجام می شوند یا هیچکدام.
همچنین تریگر هم همینکارو انجام میده.