myCommand1.Parameters.Add("@I_vBACHNUMB", SqlDbType.Char).Value = GLHdr.BACHNUMB;
myCommand1.Parameters.Add("@I_vREFRENCE", SqlDbType.Char).Value = "ExcelImport";
myCommand1.Parameters.Add("@I_vTRXDATE", SqlDbType.DateTime).Value = GLHdr.TRXDATE;
在最后一行中,我的值为GLHdr.TRXDATE: "15-02-2017"
。
我收到格式异常。让我知道我在哪里做错了。
答案 0 :(得分:3)
GLHdr.TRXDATE
是字符串,而不是DateTime
。
在传递之前,您需要将其解析为DateTime
:
var dt = DateTime.Parse(GLHdr.TRXDATE);
myCommand1.Parameters.Add("@I_vTRXDATE", SqlDbType.DateTime).Value = dt;
请注意,DateTime.Parse
可能失败,因此ParseExact
或TryParseExact
也会采用格式字符串,可能更适合您的特定情况。