PDA

View Full Version : درج تعداد زیادی رکورد در دیتا بیس



mehdi58
جمعه 25 فروردین 1385, 10:39 صبح
با سلام
من تعداد زیادی چک باکس توی فرمم دارم که کاربر میتونه اونها رو به دلخواه انتخاب کنه.
از طرفی من میخوام به ازای هر انتخاب کاربر یه رکورد توی دیتا بیس واسه اون ایجاد کنم.
حالا اگه تعداد انتخابهای کاربر زیاد باشه شما واسه سریع تر درج شدن اونها توی دیتابیس چه روشی رو پیشنهاد می کنین؟
متشکرم

Pooya_sh
جمعه 25 فروردین 1385, 14:54 عصر
از Ajax استفاده کن با هر بار چک خوردن چک باکسها متدی رو فراخوانی کن که اطلاعات رو ذخیره کنه

titbasoft
جمعه 25 فروردین 1385, 15:06 عصر
تمامی نتایج رو به فرمت xml دربیارید و اون رو به عنوان مثلا یک پارامتر به یک Stored proc بفرستید و اونجا با استفاده از دستور open xml اطلاعات خودتون رو باز خوانی کنید و یکجا به جدول مربوطه اضافه نمائید.

hamed_bostan
جمعه 25 فروردین 1385, 17:12 عصر
تمامی نتایج رو به فرمت xml دربیارید و اون رو به عنوان مثلا یک پارامتر به یک Stored proc بفرستید و اونجا با استفاده از دستور open xml اطلاعات خودتون رو باز خوانی کنید و یکجا به جدول مربوطه اضافه نمائید.

با سلام . میشه یه خورده بیشتر توضیح بدین؟
ممنون می شم . پطور از توی استورد پروسیجر xml رو باز کنیم؟

titbasoft
جمعه 25 فروردین 1385, 19:10 عصر
این مبحث یه کم توضیحش برای من سخته اما یک مثال می تونم بزنم:
فرض کنید چنین دیتایی داشته باشید:


<ROOT>
<p k="3" t="12742"/>
<p k="6" t="754672"/>
<p k="34" t="33452"/>
</ROOT>

حالا می خواهید این 3 رکورد رو یکجا به یک temp table اضافه کنید:



create proc bathInsert(@doc ntext) as
declare @idoc int
declare @temp table (k tinyint,t int)
exec sp_xml_preparedocument @idoc output , @doc
insert into @temp select * from openxml (@idoc,'ROOT/p',1) with (k tinyint,t int)


در مورد openxml و sp_xml_preparedocument در Books Online جستجو کنید.