PDA

View Full Version : چگونه یک کنترل asp را در حلقه for قرار دهم ؟



m2148059
یک شنبه 21 شهریور 1389, 10:14 صبح
سلام من رو صفحم چند کنترل asp دارم و می خواهم آنها را در بانک ثبت کنم و برای این ثبت می خوام از حلقه استفاده کنم چه جوری این کار رو انجام بدم ؟

for(int i=0;i<=4;i++)
{
insert(textbox i.text)
}

ASPX
یک شنبه 21 شهریور 1389, 10:19 صبح
كما انيكه اين روش استفاده از حلقه پيشنهاد نميشود و اگر علت استفاده را بفرماييد راههاي بهتري پيشنهاد ميشود با اين وجود


//بافرض وجود كنترلهاي
//text0,text1,text2,text3
for (int i = 0; i < 4; i++)
{
TextBox txt =(TextBox) FindControl("text" + i.ToString());
Insert(txt.Text);
}

m2148059
یک شنبه 21 شهریور 1389, 10:49 صبح
من رو صفحم 124 کنترل textbox دارم که می خوام کاربر اطلاعات را پر کند و بعد از کلیک روی دکمه تایید نهایی تمام این اطلاعات 4 تا 4 تا به بانک برود . گفتم دیگه نشینم 4 تا 4 تا براشون query بانک بنویسم گفتم یک نمونه را در حلقه for قرار دهم و بعد 4 تا 4 تا آنها را در بانک قرار دهم حالا اگر راه بهتری هست ممنون می شم بفرمایید .:لبخند:

ASPX
یک شنبه 21 شهریور 1389, 11:08 صبح
من اگر بودم اين همه را يكباره نميفرستادم ! اين راه شما حداقل نيازه به 124/4 =31 تا كانكشن دارد! اين كار حتي در برنامه هاي ويندوزي هم فاجعه است! چه برسد به وب !

فقط يك ايده به ذهنم ميرسد
شما ميتوانيد كوئري هايتان را با string بسازيد و با يك كانكشن همه را بفرستيد
[code]
insert into table(c1,c2,c3) values('v1','v2','v3')
insert into table(c1,c2,c3) values('v1','v2','v3')
insert into table(c1,c2,c3) values('v1','v2','v3')
insert into table(c1,c2,c3) values('v1','v2','v3')
insert into table(c1,c2,c3) values('v1','v2','v3')
....
[code]
حالا فقط يك بار ExecuteNonQuery كنيد

m2148059
یک شنبه 21 شهریور 1389, 11:28 صبح
الان که فکر می کنم می بینم راست می گیا البته فاجعه نیست ولی خوب راه حل کاراتر و بهترش درست کردن همین string ی است که شما می گویید . البته زمانی که سر بانک شلوغ باشد به قول شما فاجعه است . پس من رفتم تو کار درست کردن string اگر راه حل دیگری هم به ذهنتون رسید ممنون می شم کمکم کنید. با تشکر فراوان:تشویق:

ali_zzr
یک شنبه 21 شهریور 1389, 11:50 صبح
از این حلقه هم میشه استفاده کرد :


For Each txtBox As TextBox In Page.Controls
...
...
...
Next