我有以下SQLCommand应该进行更新。问题是,我没有错误,但它仍然没有更新数据库?
SqlConnection sqlconn2 = new SqlConnection(this.connectionString);
sqlconn2.Open();
string strCmd = "UPDATE dbo.mydata SET WEB_OBEZ1 = @OBEZ1, WEB_OBEZ2 = @OBEZ2, WEB_OBEZ3 = @OBEZ3 WHERE O_KURZ = @OKURZ";
using (SqlCommand cmd2 = new SqlCommand(strCmd, sqlconn2))
{
cmd2.Parameters.Add("@OBEZ1", SqlDbType.NVarChar);
cmd2.Parameters.Add("@OBEZ2", SqlDbType.NVarChar);
cmd2.Parameters.Add("@OBEZ3", SqlDbType.NVarChar);
cmd2.Parameters.Add("@OKURZ", SqlDbType.NVarChar);
foreach (DataRow dr in dt.Rows)
{
// Felder holen
string okuerzel = dr["O_KURZ"].ToString();
string bezeichnung = dr["O_BEZ"].ToString();
string[] lines = CreateNewOrgBez(bezeichnung);
cmd2.Parameters["@OBEZ1"].Value = lines[0];
cmd2.Parameters["@OBEZ2"].Value = lines[1];
cmd2.Parameters["@OBEZ3"].Value = lines[2];
cmd2.Parameters["@OKURZ"].Value = okuerzel;
cmd2.ExecuteNonQuery();
}
}
sqlconn2.Close();
答案 0 :(得分:2)
dt.Rows
的长度可能为零。你检查过这个吗?
答案 1 :(得分:0)
使用交易?然后perhapse缺少提交?
HTH
马里奥
答案 2 :(得分:0)
Perhapse还有where子句与db中的任何行都不匹配吗?
ExecuteNonQuery()返回受影响的行数,检查它!
HTH
马里奥