this is my Datagridview when one cell's data in it is changed.
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (!boolAdd)
{
if (e.RowIndex != -1)
{
var db = new LINQDataContext();
int intCurrentRow = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["Row"].Value.ToString());
try
{
string strYear = dataGridView1.Rows[e.RowIndex].Cells["Year"].Value.ToString();
string strMonth = dataGridView1.Rows[e.RowIndex].Cells["Month"].Value.ToString();
string strDay = dataGridView1.Rows[e.RowIndex].Cells["Day"].Value.ToString();
string strHour = dataGridView1.Rows[e.RowIndex].Cells["Hour"].Value.ToString();
string strMinute = dataGridView1.Rows[e.RowIndex].Cells["Minute"].Value.ToString();
string strSecond = dataGridView1.Rows[e.RowIndex].Cells["Second"].Value.ToString();
string strRepetition = dataGridView1.Rows[e.RowIndex].Cells["Repetition"].Value.ToString();
string strX = dataGridView1.Rows[e.RowIndex].Cells["X"].Value.ToString();
string strY = dataGridView1.Rows[e.RowIndex].Cells["Y"].Value.ToString();
string strZ = dataGridView1.Rows[e.RowIndex].Cells["Z"].Value.ToString();
string strOperator = dataGridView1.Rows[e.RowIndex].Cells["Operator"].Value.ToString();
db.Updatetable(intCurrentRow, strYear, strMonth, strDay, strHour, strMinute, strSecond, strRepetition, strX, strY, strZ, strOperator);
LINQDataContext dbo = new LINQDataContext();
dataGridView1.DataSource = dbo.mytbls;
}
catch { }
}
}
}
My Update Procedure:
CREATE PROCEDURE dbo.Update1 @Row bigint, @Word nvarchar(50), @Mean1 nvarchar(50), @Mean2 nvarchar(50), @Mean3 nvarchar(50), @Mean4 nvarchar(50), @Example1 nvarchar(MAX), @Example2 nvarchar(MAX), @Example3 nvarchar(MAX), @Example4 nvarchar(MAX), @WordExist nvarchar(10), @Mean1Exist nvarchar(10), @Mean2Exist nvarchar(10), @Mean3Exist nvarchar(10), @Mean4Exist nvarchar(10), @Example1Exist nvarchar(10), @Example2Exist nvarchar(10), @Example3Exist nvarchar(10), @Example4Exist nvarchar(10)
AS
UPDATE info SET Row=@Row , Word=@Word , Mean1=@Mean1 , Mean2=@Mean2 , Mean3=@Mean3 , Mean4=@Mean4 , Example1=@Example1 , Example2=@Example2 , Example3=@Example3 , Example4 =@Example4 ,WordExist=@WordExist, Mean1Exist=@Mean1Exist ,Mean2Exist =@Mean2Exist ,Mean3Exist= @Mean3Exist ,Mean4Exist= @Mean4Exist ,Example1Exist= @Example1Exist ,Example2Exist= @Example2Exist , Example3Exist=@Example3Exist ,Example4Exist= @Example4Exist
WHERE Row=@Row
RETURN
Another way for updating Field by field!
var db = new MyMapDataDataContext();
var query = from ord2 in db.IsZoomTableFilledTables where ord2.Key == 1 select ord2;
foreach (var ord2 in query)
{
ord2.IsZoomTableFilled6 = 1;
}
try
{
db.SubmitChanges();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
db.Dispose();