我有问题要问。
我想通过在datagridview中进行更改来更新数据库后端的表。 DataGridView更改应该反映到数据库中。
我怎样才能实现它?
谢谢...
代码:
SqlCommand command;
if (con.State == ConnectionState.Closed)
con.Open();
string updateQuery = @"UPDATE Hucre set VericiKB=@VericiKB Where OrtamKB=@OrtamKimlikBilgisi and HucreKB=@HucreKB";
command = new SqlCommand(updateQuery, con);
command.Parameters.Add("@VericiKB", SqlDbType.Int, 50, "VericiKB");
SqlParameter param1 = command.Parameters.Add("@HucreKB", SqlDbType.Int, 50, "HucreKB");
SqlParameter param2 = command.Parameters.Add("@OrtamKB", SqlDbType.Int, 50, "OrtamKB");
param1.SourceVersion = DataRowVersion.Original;
param2.SourceVersion = DataRowVersion.Original;
da.UpdateCommand = command;
答案 0 :(得分:0)
只需像
一样添加数据绑定this.domainUpDown1.DataBindings.Add("Text", _user, "Active", true);
此示例适用于Entity Framework。对于EF,您必须致电
_repository.UnitOfWork.SaveChanges()
关闭表单之前,或更改值
之后答案 1 :(得分:0)
da.UpDateCommand = command; ..的位置或内容是什么? 在那个
通过包装Try Catch {}块
来重构您的代码SqlCommand command = null;
try
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
string updateQuery = @"UPDATE Hucre set VericiKB=@VericiKB
WHERE OrtamKB=@OrtamKimlikBilgisi and HucreKB=@HucreKB";
command = new SqlCommand(updateQuery, con);
command.Parameters.AddWithValue("@VericiKB", "VericiKB");//pass a variable here
SqlParameter param1 = command.Parameters.AddWithValue("@HucreKB", "HucreKB");//pass a variable here
SqlParameter param2 = command.Parameters.AddWithValue("@OrtamKB", "OrtamKB");//pass a variable here
param1.SourceVersion = DataRowVersion.Original;
param2.SourceVersion = DataRowVersion.Original;
//what is this ..??? da.UpdateCommand = command;
command.ExecuteNonQuery;
}
catch (Exception e)
{
//Write or trap your exception here..
}
//完成后释放SQLCommand对象