0
我想爲SQL Server CE數據庫編寫一個簡單的插入語句,並且我的代碼完美地工作! ......除了該行實際上並沒有得到插入到數據庫...SqlCeCommand簡單插入不插入
我的代碼是:
public static int InsertTourCreater(string userName, string password)
{
SqlCeConnection connection = GuidedTourDB.GetConnection(); //Returns connection
string insertStatement =
"INSERT INTO [Tb_Creater] " +
"([User_Name], [Password]) " +
"VALUES (@UserName, @Password)" ;
SqlCeCommand insertCommand = new SqlCeCommand(insertStatement, connection);
insertCommand.Parameters.Add(new SqlCeParameter("@UserName", SqlDbType.NVarChar)).Value = userName;
insertCommand.Parameters.Add(new SqlCeParameter("@Password", SqlDbType.NVarChar)).Value = password;
try
{
connection.Open();
int success = insertCommand.ExecuteNonQuery();
return success;
}
代碼運行正常。通過在調試模式下步,打開連接,價值觀都得到正確添加,與1 ExecuteNonQuery()
回報價值,但後來我去看看錶數據Tb_Creater
在我的服務器資源管理器,記錄是不存在的。
我已經刷新,甚至重新啓動Visual Studio中。不在那裏。沒有例外被拋出。
注意:我添加的參數是這樣的,而不是AddWithValue()
,因爲我擔心字符串會轉換爲varchar
(在SQL Server CE中不可用),並且會導致問題,但是代碼操作同樣的方式。
你能告訴我們你的連接字符串嗎? –
爲了進一步混淆我,我得到'不能插入重複值'異常,如果我嘗試使用已存在的User_Name的值。 (這是一個獨特的領域。) ,如果我過去我的INSERT語句爲T-SQL編輯器和更換硬編碼值的變量,它運行良好,所以它不應該是一個語法錯誤.. –
私有靜態字符串connectionString = @「Data Source = | DataDirectory | \ GuidedTourDB.sdf; Password = password」; 公共靜態的SqlCeConnection的getConnection() { 的SqlCeConnection連接=新的SqlCeConnection(的connectionString); 返回連接; } 編輯:對不起,我不知道如何粘貼評論代碼...我有一個SELECT語句命令工作正常使用相同的連接。 –