我有一個C#的Windows應用程序,我試圖插入數據(已由用戶輸入)到訪問數據庫。我沒有收到任何錯誤,但是它沒有輸入數據。任何想法?記錄沒有插入到訪問數據庫中
string sqlInsert = "insert into assessment (id) values (@id)";
using (OleDbConnection conn = new OleDbConnection(dsn))
{
OleDbCommand cmd = new OleDbCommand(sqlInsert, conn);
cmd.Parameters.Add("@id", OleDbType.VarChar, 50).Value = iDTextBox.Text.Trim().Length != null ? storedID.Trim() : "";
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
id的數據類型是Text
。
編輯: 連接字符串存儲在app.config中爲:
<add name="conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\CADSCUPP.mdb" providerName="System.Data.OleDb"/>
,並在代碼中訪問:
private string dsn = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
如果我手動(未插入記錄,通過後面的代碼的代碼)我可以讀取程序中其他地方的記錄,以便連接起作用。
OleDbType.VarChar?這個ID是不是一個數字? – Fionnuala
不,不是號碼 – peroija
你怎麼知道記錄沒有被寫入?你是從ASP.NET查詢數據庫還是查看Access中的表來驗證它?您可能會檢查ASP.NET和VS是否在開發計算機上的其他位置創建了數據庫副本。我不知道ASP.NET會發生這種情況,但我發現Win7上使用Access dbs的WinForms應用程序會發生這種情況。 –