PDA

View Full Version : سوال: استفاده از ado در کلاس ها برای عدم تکرار کدها در فرم



hamid59022
یک شنبه 18 مهر 1395, 15:35 عصر
سلام من میخوام با دیتا ریدر با یک بانک اطلاعاتی کار کنم اما نمیخوام همش کدهای ado رو تکرار کنم برای این کار یک کلاس ایجاد کردم که بشه یک خروجی دیتاریدر ازش گرفت به صورت زیر

public static string strcn= "Data Source=.;Initial Catalog=tolid_sima;Integrated Security=True";
public static SqlConnection cnn = new SqlConnection();
public static SqlCommand cmd = new SqlCommand();

public static SqlDataReader isrow(string strcmd)
{
SqlDataReader dr = new SqlDataReader();
cmd.CommandText = strcmd;
cnn.Open ();
dr=cmd.ExecuteReader();
cnn.Close();
return dr;
}

hamid_hr
یک شنبه 18 مهر 1395, 16:05 عصر
خب الان مشکل داره این کدت
وقتی کانکشن بسته بشه دیگه نمیشه از دیتابیس اطلاعات خوند
اینطوری بهتره نوشته بشه

public static string strcn= "Data Source=.;Initial Catalog=tolid_sima;Integrated Security=True";
public static SqlConnection cnn = new SqlConnection();
public static SqlCommand cmd = new SqlCommand();

public static SqlDataReader isrow(string strcmd)
{
SqlDataReader dr = new SqlDataReader();
cmd.CommandText = strcmd;
cnn.Open ();
return cmd.ExecuteReader(CommandBehavior.CloseConnection) ;
}

بعد هر جا که از این دیتاریدر استفاده کردی وقتی کارت تموم شد متد close رو صدا بزنید کانکشن هم بسته میشه

hamid59022
دوشنبه 17 آبان 1395, 13:36 عصر
سلام ممنونم از اینکه به سوال من درباره بازگشت دیتاریدر از داخل بلوک کانکشن باز و بسته جواب دادید

return cmd.ExecuteReader(CommandBehavior.CloseConnection) ;

خواستم سوال کنم این اطلاعات رو از کجا آوردین مثلا این قطعه کد رو من هیچ جا پیدا نکردم
مثلا کار کردن با نوع داده های دیتاتبل و مثلا سلکت گرفتن از اون برای پر کردن یک دیتا گرید رو من هیچ جا پیدا نمیکنم
ممنون میشم راهنمایی کنید

hamid_hr
دوشنبه 17 آبان 1395, 16:58 عصر
بیشتر مشکلاتمو تو msdn سرچ میکنم بعد اگه نتونستم رفعش کنم تو سایتای انگلیسی زبان مثل stackoverflow.com
بعد هم فروم برنامه نویس

ali_md110
دوشنبه 17 آبان 1395, 20:36 عصر
دوران Ado و دیتاست به سر رسیده
برید به سمت ORM ها در ضمن اینجور کد نویسی بصورت استاتیک زیاد مناسب نیست
شما میخواید یک منبع رو بزارید در اختیار سایر قسمتهای برنامتون پس از روش مناسب تر با سربار کمتر انتخاب کنید
مثل تزریق وابستگی از طریق واسط ها