从字符串转换日期和/或时间时,转换失败

string sqlstr2 = @"UPDATE CardLog SET Date=@Date,Time=@Time";
using (SqlConnection cn = new SqlConnection(DBAssist.ConnectionString))
{
SqlCommand cmd = cn.CreateCommand();
cmd.CommandText = sqlstr2;
cmd.Parameters.AddWithValue("@Date",DateTime.Now.ToLongDateString());
cmd.Parameters.AddWithValue("@Time",DateTime.Now.ToShortTimeString());
cn.Open();
cmd.ExecuteNonQuery();
}

然后就报错了,错误如题

@"UPDATE CardLog SET Date=@Date,Time=@Time";
没这么写的,要修改多个字段,应该写
@"UPDATE CardLog SET ([Date], [Time]) values(@Date, @Time)";
注意关键字还要转义。

一个sql语句 在两个机器上执行  一个报错,一个没报错
错误提示是:从字符串转换日期和/或时间时,转换失败。
两个版本分别是 :企业版,开发版

Microsoft SQL Server Developer Edition (64-bit)
Microsoft SQL Server Enterprise Edition (64-bit)

企业版的报错 :......
答案就在这里:从字符串转换日期和/或时间时,转换失败。
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int userID = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);
string UserName = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text;
string UserGender = ((TextBox)GridView1.Rows[e.RowIndex].Cells[2].Controls[0]).Text;
string CreatedTime = ((TextBox)GridView1.Rows[e.RowIndex].Cells[3].Controls[0]).Text;
string ispass = ((TextBox)GridView1.Rows[e.RowIndex].Cells[4].Controls[0]).Text;
SqlConnection conn=
new SqlConnection(ConfigurationManager.ConnectionStrings["Constr"].ConnectionString);
string sqlString = "update UserInfo set UserName='" + UserName;
sqlString += "',UserGender='" + UserGender + "',CreatedTime='" + CreatedTime;
sqlString += "',IsPass='" + ispass + "'where UserID=" + userID;
conn.Open();
SqlCommand cmd = new SqlCommand(sqlString, conn);
cmd.ExecuteNonQuery();
GridView1.EditIndex = -1;
ShowAllUser();
conn.Close();
}


那我这个为啥也出错```