PDA

View Full Version : ذخیره ی یک دیتاست یا دیتاتیبل با Store Procedure



IR-Developer
چهارشنبه 12 آذر 1393, 21:22 عصر
سلام من میخوام یک دیتاست یا دیتاتیبل را با Store Procedure در دیتابیس ذخیره کنم . قبلا یک رکورد میدادم به SP و ذخیره میکرد ولی حالا چون حجم اطلاعات بالاست میخوام یکدفعه ایی همه ذخیره بشن . چطور باید این کار را بکنم ؟

تشکر

حمیدرضاصادقیان
چهارشنبه 12 آذر 1393, 22:37 عصر
سلام.
یک متغیر از نوع Table تعریف کنید و به پارامتر SP اونو پاس بدید و از اون استفاده کنید.
اینجا (http://msdn.microsoft.com/en-us/library/bb510489.aspx) رو نگاه کنید.

IR-Developer
پنج شنبه 13 آذر 1393, 07:34 صبح
سلام.
یک متغیر از نوع Table تعریف کنید و به پارامتر SP اونو پاس بدید و از اون استفاده کنید.
اینجا (http://msdn.microsoft.com/en-us/library/bb510489.aspx) رو نگاه کنید.

اگر میشه یکم بیشتر توضیح بدید . متوجه نشدم .:چشمک:

حمیدرضاصادقیان
پنج شنبه 13 آذر 1393, 10:04 صبح
ببینید در اون لینکی که معرفی کردم کامل با مثال توضیح داده.
درواقع ساختارش به این گونه هست یک متغیر از انوع جدول میسازید با فیلدهای گوناگون.اون متغیر رو در پارامتر SP استفاده میکنید و به اون مقدار میدین.
پیشنهاد میکنم حتما اون لینک رو مشاهده کنید و مثالش رو حل کنید تا مساله دقیق براتون روشن بشه.

IR-Developer
پنج شنبه 13 آذر 1393, 11:42 صبح
ببینید در اون لینکی که معرفی کردم کامل با مثال توضیح داده.
درواقع ساختارش به این گونه هست یک متغیر از انوع جدول میسازید با فیلدهای گوناگون.اون متغیر رو در پارامتر SP استفاده میکنید و به اون مقدار میدین.
پیشنهاد میکنم حتما اون لینک رو مشاهده کنید و مثالش رو حل کنید تا مساله دقیق براتون روشن بشه.

ممنون درست شد . میخواستم از طریق Linq اجراش کنم که این کار با اون جواب نداد مجبور شدم با Sql Connection انجامش بدم . فقط یک نکته ایی هست :

من قراره تعدادی جدول از یک دیتابیس دیگه بگیرم و با وب سرویس در دیتابیس سرور ذخیره کنم . جداولی که به من پاس داده میشه Relation دارن و کلید های اصلی هر جدول هم در جدولی که با اون ارتباط داره هست . حالا من میام و تعداد زیادی رکورد را با این روش به SP پاس میدم . که در دیتابیس سرور ذخیره کنه . مشکل اصلی اینجاست که ممکنه قبل از این اطلاعات دیگری هم در دیتابیس ذخیره شده باشه و حالا تراکنش های من بعد از اونا ذخیره میشه و اینجاست که کلید اصلی ها جا به جا میشن . من باید ببینم شماره ی آخرین رکورد ثبت شده چیه و بعد بیام کلید های اصلی جداول را مطابق با اون جا به جا کنم تا مشکلی پیش نیاد .

حالا روشی خاصی برای این کار هست ؟ یا اگر نه چطور شماره ی آخرین رکورد جداول را میشه بدست آورد تا من دستی جا به جا کنم ؟

حمیدرضاصادقیان
پنج شنبه 13 آذر 1393, 18:19 عصر
شما با استفاده از دستور Output میتوانید این مشکل رو حل کنید.
این دستور در دستورات Insert,Update Delete کاربرد داره و آخرین مقدار درج شده رو بهتون نمایش میده.