【发布时间】:2014-01-17 15:03:36
【问题描述】:
我有一个按钮可以将数据更新到数据库中。
private void button4_Click(object sender, EventArgs e)
{
//need update code//
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=PEWPEWDIEPIE\\SQLEXPRESS;Initial Catalog=master;Integrated Security=True";
conn.Open();
SqlDataAdapter daCount = new SqlDataAdapter("select iCount from ComDet where cName = @cName", conn);
daCount.SelectCommand.Parameters.Add("@cName", SqlDbType.VarChar).Value = ListU.SelectedValue;
DataTable dtC = new DataTable();
daCount.Fill(dtC);
DataRow firstRow = dtC.Rows[0];
string x = firstRow["iCount"].ToString();
int y = Int32.Parse(x);
int z = y + 1;
//SqlCeCommand cmdC = conn.CreateCommand();
SqlCommand cmdC = conn.CreateCommand();
cmdC.CommandText = "Update ComDet set iCount = '" + z + "', ViewTime = '" + lblTime.Text + "', LastView = '" + txtUser2.Text + "' Where cName = '" + ListU.SelectedValue.ToString() + "'";
conn.Close();
}
但我得到了这个错误..
有人可以帮忙吗?
更新 =
我已将代码更改为
cmdC.CommandText = "Update ComDet set iCount = " + z + ", ViewTime = '" + lblTime.Text + "', LastView = '" + txtUser2.Text + "' Where cName = '" + ListU.SelectedValue.ToString() + "'";
但现在的问题是,没有更新。
数据库中的 iCount 是一个 INT ,值为 0。 viewtime 和 lastview 也没有更新。
我现在哪里出错了?
【问题讨论】:
-
去掉 iCount 周围的单引号
-
尝试将
firstRow["iCount"]输出到调试控制台并检查是否为有效整数。 -
@AlexDenysenko - 你确定吗?因为那么,更新将如何检测 Z 值?
-
它执行字符串 man... 字符串将是 'Update ComDet set iCount = 3, ViewTime' 或任何值
-
去掉单引号会弄乱代码..
标签: c# winforms forms button sql-update