我需要更新我的数据库以将日期设置为当前时间戳。但是,我的ExecuteNonQuery在')附近提供了异常"不正确的语法。 &#34 ;.谁能告诉我有什么问题? 这是带错误的函数:
protected void setprint(object sender, EventArgs ev)
{
GridViewRow row = ((LinkButton)sender).Parent.Parent as GridViewRow;
inv = row.Cells[1].ToString().Trim();
con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
cmd = new SqlCommand("update invdata set ViewDate = CURRENT_TIMESTAMP() where InvoiceNumber= '" + inv + "'", con);
try
{
con.Open();
cmd.ExecuteNonQuery();
}
finally
{
if (con != null)
con.Close();
}
}
答案 0 :(得分:4)
CURRENT_TIMESTAMP
不应该有()
所以将其改为
cmd = new SqlCommand("update invdata set ViewDate = CURRENT_TIMESTAMP where InvoiceNumber= '" + inv + "'", con);
答案 1 :(得分:1)
使用GetDate()函数来获取当前日期和时间,而不是使用CURRENT_TIMESTAMP。
答案 2 :(得分:0)
我还建议将SQL连接添加到使用块中,这样就可以处理连接,而不必在finally块中手动关闭它。
private void Form1_Load(object sender, EventArgs e)
{
using (con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString())) ;
{
cmd = new SqlCommand("update invdata set ViewDate = GETDATE() where InvoiceNumber= '" + inv + "'", con);
con.Open();
cmd.ExecuteNonQuery();
}
}
}
}