我試圖從Access數據庫中插入一些值到SQL Server中,但是因爲名爲colz的datetime列失敗。在SQL Server中,我有一個日期時間列(colz),並且在訪問時它也是日期時間(row [「c」])。插入失敗訪問sql
數據類型和連接沒有錯誤。像1.mm.yyyy這樣的日期沒有問題。問題在於像10到31.mm.yyyy這樣的日期。異常說
將varchar數據類型轉換爲日期時間數據類型導致超出範圍的值。
當我與操作#例外嘗試說
轉換失敗時從字符串
我的代碼轉換日期和/或時間#就像「#」 .. .....「#'
int i, k = dt.Rows.Count;
for (i = 0; i < k; i++) {
insertToSql = insertToSql + "insert into myTable(colx,coly,colz) values('"
+ dt.Rows[i]["a"].ToString().Trim() + "','"
+ dt.Rows[i]["b"].ToString().Trim() + "','"
+ dt.Rows[i]["c"].ToString().Trim() + "')";
}
也許在運行之前將'insertToSql'字符串寫入某個日誌文件中,以便您可以查看錯誤。 –
這就是您使用參數的原因。 – LarsTech
你有沒有去掉#號。你需要它在訪問 – logixologist