我試圖從SQL Server表中將記錄插入到Access表中。嘗試將NULL傳遞給時間戳字段時出錯
對於SQL Server表中的每一行,我正在檢查一個條件,如果時間戳字段爲NULL,則將NULL也插入到相應的Access字段中。
這裏粘貼一小段代碼:
foreach (DataRow dr in dra) //Each datarow in SQL Server table
{
OleDbCommand accessCmdUpdate = new OleDbCommand("update xxx set [email protected],[email protected],[email protected] where [email protected]", AccessConnection);
accessCmdUpdate.Parameters.Add(new OleDbParameter("@0", dr[0].ToString()));
accessCmdUpdate.Parameters.Add(new OleDbParameter("@1", dr[1].ToString()));
accessCmdUpdate.Parameters.Add(new OleDbParameter("@2", convertedText));
if (dr[3] != System.DBNull.Value)
accessCmdUpdate.Parameters.Add(new OleDbParameter("@3",OleDbType.DBTimeStamp,100,ParameterDirection.Input,true,(byte)(100),(byte)(0),"xxxdatetime",DataRowVersion.Current,Convert.ToDateTime(dr[3])));
else
accessCmdUpdate.Parameters.Add(new OleDbParameter("@3", OleDbType.DBTimeStamp, 100, ParameterDirection.Input, true, (byte)(100), (byte)(0), "xxxdatetime", DataRowVersion.Current, DBNull.Value));
accessCmdUpdate.ExecuteNonQuery();
}
我試圖插入DbNull.Value爲@ 3(DBTIMESTAMP)參數。但它不起作用。我收到以下錯誤:
System.Data.OleDb.OleDbException:未給出一個或多個所需參數的值。 正確插入參數@ 0和@ 2。
如何使用OleDbParameter爲DBTimeStamp字段傳遞NULL?
請提交表格的結構。也許這是一個必填字段? – Fischermaen
對於Access和SQL Server表,Tha表結構完全相同。 這不是一個必填字段,但我必須從SQL Server表中傳遞所有字段值。 – KhD
你可以驗證'convertedText'的值嗎? –