View Full Version : بررسی صحت اجرای دستورات آپدیت در دیتابیس
tanha70
شنبه 19 اردیبهشت 1394, 17:00 عصر
سلام
من تو برنامه یه کویری آپدیت به سرور ارسال کردم و میخوام بفهمم که این کویری به درستی اجرا شده یا نه و تا زمانی که اجرا نشه به درستی، نمیخوام هیچ کویری دیگه ای اجرا بشه.
ممنون میشم راهنمایی بفرمایید...
محمد رضا فاتحی
شنبه 19 اردیبهشت 1394, 17:16 عصر
شما می تونید کوئری های مربوط به sql رو داخل یه تابع bool بزارید اگه درست اجرا شد true برگردونه و هنگام اجرا اگه تابع true برگردوند می تونید ادامه بدبد و اگه false بود ادمه ندید
نکته تو هنگام اجرای دستور ExecuteNonQuery می تونید مقدار بازگشتی رو داخل متغیر int برگردونید که تعداد سطرهای تغییر یافته با دستور آپدیت ، اینسرت و دیلیت رو بر می گردونه
tanha70
شنبه 19 اردیبهشت 1394, 19:01 عصر
به نطرتون این حواب میده؟
//Update statement
public bool Update(string query)
{
int result = 0;
//Open connection
if (this.OpenConnection() == true)
{
//create mysql command
MySqlCommand cmd = new MySqlCommand();
//Assign the query using CommandText
cmd.CommandText = query;
//Assign the connection using Connection
cmd.Connection = connection;
//Execute query
result = cmd.ExecuteNonQuery();
//close connection
this.CloseConnection();
}
if (result == 0)
return false;
else
return true;
}
Yanehsar
شنبه 19 اردیبهشت 1394, 22:45 عصر
سلام میتونید در تابع ExecuteNonQuery بررسی رو انجام بدید
if (cmd.ExecuteNonQuery() == 1)
{
MessageBox.Show("نام مرکز با موافقیت ثبت گردید", "ثبت");
}
محمد رضا فاتحی
یک شنبه 20 اردیبهشت 1394, 11:03 صبح
خوبه ولی اگه یه try-catch بهش اضافه کمی عالی میشه
public bool Update(string query) {
try
{
int result = 0;
//Open connection
if (this.OpenConnection() == true)
{
//create mysql command
MySqlCommand cmd = new MySqlCommand();
//Assign the query using CommandText
cmd.CommandText = query;
//Assign the connection using Connection
cmd.Connection = connection;
//Execute query
result = cmd.ExecuteNonQuery();
//close connection
this.CloseConnection();
}
if (result == 0)
return false;
else
return true;
}
catch
{
return false;
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.