0
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;

最後の行には value があります GLHdr.TRXDATE: "15-02-2017"

フォーマットの例外が発生しています。どこで間違いを犯しているのか教えてください。

4

1 に答える 1

3

GLHdr.TRXDATEではなく文字列DateTimeです。

DateTime渡す前に解析する必要があります。

var dt = DateTime.Parse(GLHdr.TRXDATE);
myCommand1.Parameters.Add("@I_vTRXDATE", SqlDbType.DateTime).Value = dt;

失敗するDateTime.Parse 可能ParseExactTryParseExactがあるため、特定の状況ではフォーマット文字列を使用する方が適している場合があることに注意してください。

于 2012-05-27T07:30:29.903 に答える