PDA

View Full Version : سوال: آیا کلاسی که برای اتصال به بانک نوشتم درست و استاندارده ؟ میشه شی گرا تر بشه؟



davood59
جمعه 13 بهمن 1391, 10:19 صبح
سلام دوستان؛
وقتتون بخیر؛
ببخشید؛ من میخواستم یک رشته ارتباطی جهت برقراری ارتباط با sql بسازم و میخوام این رو تو یک کلاس قرار بدم که برنامه م از ابتدا اصولی باشه؛
از این روش استفاده کردم؛ آیا درسته یا نه؟

public class Conn
{
private string MyConStr = @"Data Source=.;Initial Catalog=SampleDB;User ID=sa;Password=123456";


public string GetConnection()
{
return MyConStr;
}

public string OpneConnection()
{

SqlConnection MyConn = new SqlConnection();
MyConn.ConnectionString = MyConStr;
MyConn.Open();
string StateConn;
StateConn = MyConn.State.ToString();
return StateConn;

//try
//{
// connection.Open();
// string StateConn;
// StateConn = connection.State.ToString();
// MessageBox.Show("your connection is successfully");
//}
//catch(Exception e)
//{

//}
//}
}
}

از این کد:

return StateConn;

استفاده کردم که تو این خط :

private void button1_Click(object sender, EventArgs e)
{

Conn ConToDb = new Conn();
ConToDb.OpneConnection();
MessageBox.Show("coonection status:", ConToDb.OpneConnection());

خروجی رو بیرون بیارم و ببینم که آیا ارتباط باز شده یا خیر؟
آیا درست نوشتم؟ یا نه ؟
ضمنا ساختار try -catch رو جچوری تو متد OpneConnection پیاده سازیش کنم که اگه ارتباط برقرار نشد ، پیام خطا صادر کنه؟

AmirGhasemi
جمعه 13 بهمن 1391, 10:30 صبح
سلام
خب شما كانكشن را باز كردي اما به چه دردي خورد؟
شما باز و بسته كردن كانكشن را بايد داخل متد Command‌هات بسازي
اگه از ADO.Net استفاه ميكني بهترين كار اينه كه توي كلاس ارتباط با دستابيست متد هاي Insert,Delete,Update,SelectRow,SelectALL را بنويسي و اين كانكشن ها را در داخل متد فراخواني كني
اما راهي كه براي تعريف كانكشن استرينگت استفاده كردي يعني استفاده از پراپرتي خيلي خوب بود
در ضمن در ساختار try-catch از sqleception استفاده كن كه اگه خود ديتابيس خطايي برگردوند اونو داخل مثلا مسيج باكس نشون بده catch خالي بدرد ديتابيس نمي خوره