我有一個SQL Server Compact數據庫,我試圖用cmd.ExecuteNonQuery()
向它插入一條記錄。此方法在另一個項目中工作得很好,但現在不起作用。SqlCeCommand參數不起作用
private void AddNewProfile() {
try {
using(SqlCeConnection conn = new SqlCeConnection(Properties.Settings.Default.dbConnectionString)) {
using(SqlCeCommand cmd = new SqlCeCommand()) {
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO Profiles (ProfileName, ProfilePath, ProfileDescription) VALUES ('@name', '@path', '@desc');";
cmd.Parameters.AddWithValue("@name", SqlDbType.Text).Value = "New Profile";
cmd.Parameters.AddWithValue("@path", SqlDbType.Text).Value = "C:\\";
cmd.Parameters.AddWithValue("@desc", SqlDbType.Text).Value = "A blank profile.";
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}
}
catch(Exception ex) {
MessageBox.Show(ex.Message, "Error");
}
}
問題來自參數 - 我實際上從我的其他項目中複製代碼,但它不能正常工作。相反,在執行此的:
INSERT INTO Profiles (ProfileName, ProfilePath, ProfileDescription)
VALUES ('New Profile', 'C:\\', 'A blank profile.');
它執行此:
INSERT INTO Profiles (ProfileName, ProfilePath, ProfileDescription)
VALUES ('@name', '@path', '@desc');
這裏有什麼問題嗎?
這是真的嗎?我覺得自己像個白癡。謝謝你的偉大答案! – Abluescarab