从'Int32'到'DateTime'的无效投射。无法存储< 1>在Tdate专栏。预期类型是DateTime。 我的查询如下 更新LogMail设置Tdate = '20 -Jul-15 12:00:00 AM'
我的代码在下面给出
DateTime dtCurrTime = DateTime.Today;
string d = dtCurrTime.ToString();
string sQuery1 = "Update LogMail set Tdate= '"+Convert.ToDateTime(d)+"' ";
DBInteraction.DBOperation.sConnectionString = GlobalFuncs.sConnectionString;
sRetVal = DBOperation.ExecuteDBOperation(sQuery1, DBOperation.OperationType.UPDATE, null, ref dt);
if (sRetVal == GlobalFuncs.SUCCESS)
{
Challan.EmailForPandingMaterial em=new Challan.EmailForPandingMaterial();
em.ShowDialog();
this.Hide();
}
数据库有DBinteraction类,DBOperation是它的方法,它在所有其他程序中运行正常。请帮我找到正确的错误。感谢
答案 0 :(得分:0)
尝试使用DateTime.Now
string sQuery1 = "Update LogMail set Tdate= '"+DateTime.Now+"' ";
看看它是否会产生相同的错误。检查数据库中的数据类型以确保它具有正确的数据类型。
或尝试以下列日期格式保存日期,因为这是MS SQL中的默认格式' yyyy-MM-dd'
答案 1 :(得分:0)
// any custom format depending on your needs:
string d = dtCurrTime.ToString("yyyy-MM-dd HH:mm:ss");
string sQuery1 = "Update LogMail set Tdate= '"+d+"' ";