我正在向數據庫發送命令,它返回的是1行受到影響,但是當我查看數據庫內部時,沒有記錄。我沒有收到任何錯誤。我檢查了一下,確保字符串的構建正確無誤。有任何想法嗎?我知道,我沒有在這裏使用參數化查詢。我會遲一點。下面是從數據庫層代碼:數據庫表示它正在插入,但沒有記錄
public int InsertStartTime(certificate cert, DateTime startTime, string lineNumber)
{
string sql = "INSERT INTO checkLog(userID,lineNumber,startTime) VALUES(" +
cert.userID + ", '" + lineNumber + "', '" + startTime + "');";
int result = 0;
try
{
conn.Open();
comm.CommandText = sql;
result = comm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
MessageBox.Show(result.ToString() + " rows affected");
return result;
}
使用一個Access 2000數據庫文件:
string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\assets\users.mdb;Persist Security Info=True";
這是在交易中執行嗎? –
nope。我沒有設置交易,我想這可能只是需要承諾。但是,唉,我沒有像這樣設置它 – Sinaesthetic
有些DBMS默認情況下不會自動提交,iirc。你真的嘗試過嗎? – Medo42