为类型日期更新null

时间:2010-08-27 09:27:09

标签: c# sql-server

我有一句话:

    string strSQL = "update pl_poli set ag_vouch = ' ',ag_vdate = #, ag_vmode = null where
 pl_no = '" + textBox5.Text + "' and pl_endtno ='" + textBox6.Text + "'";

我无法更新,因为错误“数据类型错误”。我有填充ag_vdate是类型日期 我想更新它 - >空值 请你帮帮我。非常感谢你。

1 个答案:

答案 0 :(得分:1)

在你的情况下你不能在datetime列传递“#”,因为sql server认为这是varchar值而不能在datetime中转换它...所以...

尝试按以下方式执行

using (SqlConnection connection = new SqlConnection(connectionString))
using (SqlCommand command = connection.CreateCommand())
{
    command.CommandText = "INSERT INTO table1 (column1, column2) VALUES (@param1, @param2)";

    command.Parameters.Add("@param1", SqlDbType.DateTime).Value = 
        DateTime.TryParse(txtDate.Text, out d) ?
            (object)d :
            DBNull.Value // inserting NULL
    ...

    connection.Open();
    command.ExecuteNonQuery();
}