2017-05-06 201 views
0

我試圖插入一些數據到我的本地SQL數據庫。該命令似乎運行成功,我沒有得到任何錯誤,但由於某種原因數據沒有被插入到數據庫中。我忘了什麼嗎?C#插入數據庫,沒有錯誤和數據沒有插入數據庫

public void RegisterUser(string fName, string lName, string email, string password) 
    { 
     string conStr = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString; 

     using (SqlConnection openCon = new SqlConnection(conStr)) 
     { 
      string saveUser = "INSERT into Users (firstName,lastName,email,password,isAdmin) VALUES (@firstName,@lastName,@email,@password,@isAdmin)"; 

      using (SqlCommand querySaveUser = new SqlCommand(saveUser)) 
      { 
       querySaveUser.Connection = openCon; 
       querySaveUser.Parameters.AddWithValue("@firstName", fName); 
       querySaveUser.Parameters.AddWithValue("@lastName", lName); 
       querySaveUser.Parameters.AddWithValue("@email", email); 
       querySaveUser.Parameters.AddWithValue("@password", password); 
       querySaveUser.Parameters.AddWithValue("@isAdmin", 1); 
       openCon.Open(); 
       querySaveUser.ExecuteNonQuery(); 
      } 
     } 
    } 

連接字符串:

<connectionStrings> 
<add name="DatabaseConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\App_Data\Database.mdf;Integrated Security=True;" 
    providerName="System.Data.SqlClient" /> 

更新:

解決了!我出於某種原因試圖輸出到另一個目錄。結束了重新創建解決問題的數據庫。

回答

0

int affected = querySaveUser.ExecuteNonQuery(); 

,並設置調試點,看受影響的價值。

根據MSDN「如果發生回滾,返回值也是-1」。

+0

受影響的返回0 – user5561715

0

我檢查你的代碼和它工作正常在我的系統,但我已經改變了您的連接字符串,請修改您的連接字符串的地雷然後檢查我希望你的問題就解決了

public void RegisterUser(string fName, string lName, string email, string password) 
    { 
     string conStr = ConfigurationManager.ConnectionStrings["DatabaseConnectionString"].ConnectionString; 

     using (SqlConnection openCon = new SqlConnection(conStr)) 
     { 
      string saveUser = "INSERT into Users (firstName,lastName,email,password,isAdmin) VALUES (@firstName,@lastName,@email,@password,@isAdmin)"; 

      using (SqlCommand querySaveUser = new SqlCommand(saveUser)) 
      { 
       querySaveUser.Connection = openCon; 
       querySaveUser.Parameters.AddWithValue("@firstName", fName); 
       querySaveUser.Parameters.AddWithValue("@lastName", lName); 
       querySaveUser.Parameters.AddWithValue("@email", email); 
       querySaveUser.Parameters.AddWithValue("@password", password); 
       querySaveUser.Parameters.AddWithValue("@isAdmin", 1); 
       openCon.Open(); 
       querySaveUser.ExecuteNonQuery(); 
      } 
     } 
    } 

連接字符串:web.config

<connectionStrings> 
    <add name="DatabaseConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf; Initial Catalog=Database.mdf; Integrated Security=True;" providerName="System.Data.SqlClient" /> 
    </connectionStrings>