hamid.shekasteh
چهارشنبه 18 آذر 1388, 09:11 صبح
با توجه به این حرف گفته شده به بنده که:"ممکن است با این کد بعد از ثبت حدود 50 رکورد سیستم هنگ کند به خاطر استفاده از DataTable"
و جمله زیر
"منبع نادر(Scarce):منبعی است که شما تعداد کمی از آن را در اختیار دارید.مانند اتصالات به پایگاه داده"
1- من چگونه می توانم بفهمم که آیا واقعا چنین مشکلی برای برنامه من می افتد یا خیر؟
2-آیا برای اطمینان می توان از Using() استفاده کرد و ساز و کار آن چیست؟
من کدی شبیه زیر برای هر جدول پایگاه داده نوشته ام(به ازای هر جدول پایگاه یک کلاس این چنینی نوشته ام).
public class User
{
public static string ConnectionStr = "Data Source=(LOCAL);Initial Catalog=db;Integrated Security=True";
protected SqlCommand selectCommand;
protected SqlCommand insertCommand;
protected SqlCommand updateCommand;
protected SqlCommand deleteCommand;
SqlConnection connection;
SqlDataAdapter dataAdapter;
public User()
{
connection = new SqlConnection(ConnectionStr);
selectCommand = new SqlCommand("…", connection);
insertCommand = new SqlCommand("…", connection);
updateCommand = new SqlCommand("…", connection);
deleteCommand = new SqlCommand("..", connection);
dataAdapter = new SqlDataAdapter();
dataAdapter.SelectCommand = selectCommand;
dataAdapter.InsertCommand = insertCommand;
dataAdapter.DeleteCommand = deleteCommand;
dataAdapter.UpdateCommand = updateCommand;
this.dataAdapter.TableMappings.AddRange(…);
}
public override void Save()
{
dataAdapter.Update(dt);
dt.AcceptChanges();
}
public override void Fill()
{
dataAdapter.Fill(dt);
}
{
باتشکر.
و جمله زیر
"منبع نادر(Scarce):منبعی است که شما تعداد کمی از آن را در اختیار دارید.مانند اتصالات به پایگاه داده"
1- من چگونه می توانم بفهمم که آیا واقعا چنین مشکلی برای برنامه من می افتد یا خیر؟
2-آیا برای اطمینان می توان از Using() استفاده کرد و ساز و کار آن چیست؟
من کدی شبیه زیر برای هر جدول پایگاه داده نوشته ام(به ازای هر جدول پایگاه یک کلاس این چنینی نوشته ام).
public class User
{
public static string ConnectionStr = "Data Source=(LOCAL);Initial Catalog=db;Integrated Security=True";
protected SqlCommand selectCommand;
protected SqlCommand insertCommand;
protected SqlCommand updateCommand;
protected SqlCommand deleteCommand;
SqlConnection connection;
SqlDataAdapter dataAdapter;
public User()
{
connection = new SqlConnection(ConnectionStr);
selectCommand = new SqlCommand("…", connection);
insertCommand = new SqlCommand("…", connection);
updateCommand = new SqlCommand("…", connection);
deleteCommand = new SqlCommand("..", connection);
dataAdapter = new SqlDataAdapter();
dataAdapter.SelectCommand = selectCommand;
dataAdapter.InsertCommand = insertCommand;
dataAdapter.DeleteCommand = deleteCommand;
dataAdapter.UpdateCommand = updateCommand;
this.dataAdapter.TableMappings.AddRange(…);
}
public override void Save()
{
dataAdapter.Update(dt);
dt.AcceptChanges();
}
public override void Fill()
{
dataAdapter.Fill(dt);
}
{
باتشکر.