PDA

View Full Version : تشخیص حالت Insert یا Update با فشار کلید



Developer Programmer
سه شنبه 12 خرداد 1388, 23:19 عصر
در یک فرم از یک برنامه کوچک ، چند تا کنترل مثل تکست باکس و کومبو داریم و یه دیتاگرید که اطلاعات جدول رو فقط نمایش میده

میخوایم یه دگمه با نام ذخیره بذاریم.

کاربر به محض ورود به فرم بتونه داده جدید وارد کنه و با فشار کلید "ذخیره" داده جدید Insert بشه ؛ اما اگه سطری رو از گرید انتخاب کنه و داده ها رو دستکاری کنه و بعد "ذخیره" رو بزنه ، Update بشه

من نمیتونم بفهمم که چطور حالت Insert , update رو تشخیص بدم.

Developer Programmer
جمعه 15 خرداد 1388, 13:15 عصر
میخوام با HasChange بفهمم که اگر تغییراتی در فلان سطر داده شده , اون رو Update یا Insert کنم... منتها HasChange اتفاق نمیافته.




public partial class Form1 : Form
{
ClassDataAccess da = new ClassDataAccess();
string srcTable = "Customers";

public Form1()
{
InitializeComponent();
this.StartPosition = FormStartPosition.CenterScreen;
}

private void Form1_Load( object sender , EventArgs e )
{
da.FillDataSet( srcTable , String.Format( "Select * from {0}" , srcTable ) );
da.BindCombo( comboBox1 , srcTable , "ContactName" , "CustomerID" );
da.BindTextBox( textBox1 , srcTable , "ContactName" );
da.BindDataGridView( dataGridView1 , srcTable );
}

private void btnRefresh_Click( object sender , EventArgs e )
{
da.FillDataSet( srcTable , String.Format( "Select * from {0}" , srcTable ) );
}

private void btnSave_Click( object sender , EventArgs e )
{
if ( da.dataset.HasChanges() ) MessageBox.Show( "Has Changes" );
}
}

unique1984
چهارشنبه 20 خرداد 1388, 18:27 عصر
سلام
نمیدونم راهی که می خوام پیشنهاد بدم چقدر درست و بهینه هست ، اما مطمئنا مشکل رو حل میکنه.
اگه یه متغیر بولین بعنوان فلگ در نظر بگیرین و یه خورده باهاش بازی کنین اون وقت میتونین بفهمین الان در حالت insert هستین یا update!