سلام خدمت دوستان
کد خذف رکورد رو نوشتم، حالا میخوام طوری تغییرش بدم که اگه تمای رکوردها تو جدول حذف شد،یک پیغام مناسب بهم نمایش یده. از کد زیر برا حذف استفاده کردم:
private void btnDelete_Click(object sender, EventArgs e) { int SelectedIndexId = int.Parse(dgvCommod.CurrentRow.Cells["RowCod"].Value.ToString()); var db = new LinqToTrazoDataContext(); var q = db.CommodityCodTables.Where(c => c.RowCod == SelectedIndexId); if (q.Count() != 0) { db.CommodityCodTables.DeleteOnSubmit(q.Single()); db.SubmitChanges(); dgvCommod.DataSource = db.CommodityCodTables; } }
در کل نمیدونم کدمو بهینه نوشتم یا نه؟
ممنون میشم راهنماییم کنید.
باتشکر
یه کوئری count بزنید اگر کوچکتر از 1 بود بعنی رکوردی وجود ندارد
public static int GetTableCount(string tablename, string connStr = null) { string stmt = string.Format("SELECT COUNT(*) FROM {0}", tablename); if (String.IsNullOrEmpty(connStr)) connStr = ConnectionString; int count = 0; try { using (SqlConnection thisConnection = new SqlConnection(connStr)) { using (SqlCommand cmdCount = new SqlCommand(stmt, thisConnection)) { thisConnection.Open(); count = (int)cmdCount.ExecuteScalar(); } } return count; } catch (Exception ex) { VDBLogger.LogError(ex); return 0; } }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)