2012-04-19 86 views
0

我正在創建一個數據庫,所以我可以存儲用戶名和密碼。我在Microsft Visual Express C#2010上成功創建了一個數據庫。爲什麼我的程序沒有連接到數據庫?

我的程序似乎工作正常,並且沒有產生任何錯誤信息,除了我沒有收到任何反饋:它看起來像我的程序實際上並沒有對數據庫的請求,或者不返回結果。這是怎麼回事?

private void button1_Click(object sender, EventArgs e) 
    { 
     string connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"; 
     SqlConnection cn = new SqlConnection(connection); 
     try 
     { 
      cn.Open(); 
     } 
     catch (Exception) 
     { 
      MessageBox.Show("Did not connect"); 
     } 
     string username = textBox1.Text; 
     string password = maskedTextBox1.Text; 
     string sqlquery = ("SELECT * FROM User WHERE Username = '" + textBox1.Text + "'"); 
     sqlquery = "INSERT INFO [User] (Username, Password) VALUES ('" + textBox1.Text + "','" + maskedTextBox1.Text + "')"; 
     SqlCommand Command = new SqlCommand(sqlquery, cn); 
     Command.Parameters.AddWithValue("Username", username); 
     Command.Parameters.AddWithValue("Password", password); 
    } 
    private void Form1_load(object sender, EventArgs e) 
    { 
     string connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True"; 
     SqlConnection cn = new SqlConnection(connection); 
     try 
     { 
      cn.Open(); 
     } 
     catch (Exception) 
     { 
      MessageBox.Show("Did not connect"); 
     } 
    } 

} 

}

+0

您可能正在使用錯誤的連接字符串。 「Microsft visual Express C#2010」不是一款產品,我假設你是指通過Visual Studio Express。你是如何創建數據庫的? – Terry 2012-04-19 17:14:49

+1

你說你沒有得到任何反饋,所以你的程序運行或...? – 2012-04-19 17:17:01

+1

刪除try/catch塊,因爲它們吞噬了實際的錯誤。您可以查看錯誤類型,消息和堆棧跟蹤以確定具體問題。當用戶點擊信息框上的「確定」時,嘗試捕獲也會產生更多問題。 – 2012-04-19 17:19:00

回答

3

你不是實際執行SqlCommand,所以它似乎是合乎邏輯,你會不會「看見」任何事情發生。嘗試添加以下行的button1_Click年底:

Command.ExecuteNonQuery(); // actually execute the INSERT INFO... query 

你有一些問題,與你的SQL代碼,但一旦你執行這個命令,你會收到例外他們。

+0

好抓。此外,您還需要正確處理ado.net對象以防止內存泄漏。 – 2012-04-19 17:20:06

+0

有很多可以做的改進,但是,這是OP的功課,我已經省去了更多的問題。 – user7116 2012-04-19 17:21:39

+0

現在我正在獲得反饋。我有一個錯誤,但現在我有一些工作要感謝六。 – Adam 2012-04-19 17:26:48

相關問題