2014-10-08 25 views
0

我正在嘗試註冊頁面。你把用戶名和密碼保存在sql數據庫中。使用sql數據庫c登錄表單#

注:evrey的東西一直工作,直到我添加第二列(密碼)。

這是密碼代碼(用戶名是相同的):

static public void delete(string _Password) 
    { 
     try 
     { 
      connection.Open(); 
      SqlCeCommand commandInsert = new SqlCeCommand("INSERT INTO [Table] VALUES(@Password)", connection); 
      commandInsert.Parameters.Add("Password", _Password); 
      commandInsert.ExecuteNonQuery(); 
     } 
     catch (SqlCeException expection) 
     { 
      MessageBox.Show(expection.ToString()); 
     } 
     finally 
     { 
      connection.Close(); 
     } 
    } 

這是按鍵設定:

private void button1_Click(object sender, EventArgs e) 
      { 
       if (deleteBox.Text != "") 
       { 
        SQLFunctions.Insert(insertBox.Text); 
        SQLFunctions.delete(deleteBox.Text); 
        SQLFunctions.Refresh(this.dataGridView1); 

       } 
       else 
       { 
        MessageBox.Show("login failed"); 
       } 
      } 

感謝

+2

什麼是錯誤?另外,當你說你插入',你的表是否只有'密碼'作爲列?爲我們提供表格結構。 – 2014-10-08 17:08:45

+1

爲什麼函數在插入時調用delete? – Hogan 2014-10-08 17:11:13

+0

您將用戶名插入一行,並將密碼插入另一行。沒有任何東西將它們連接起來。 – paqogomez 2014-10-08 17:12:08

回答

0

我猜你需要修改你的代碼有點像這樣

SqlCeCommand commandInsert = new SqlCeCommand("INSERT INTO [Table] VALUES(@username,@Password)", connection); 

你應該通過兩個參數,你必須在DB兩個領域現在,如果你不想通過用戶名,那麼你應該指定這樣

SqlCeCommand commandInsert = new SqlCeCommand("INSERT INTO [Table](password) VALUES(@Password)", connection); 

commandInsert.Parameters.Add("Password", _Password); 
這件事

如下

commandInsert.Parameters.Add("@Password", _Password); 

和值傳遞到這個參數,這應該是寫的,你可以做這樣的

command.Parameters.AddWithValue("@Password", insertBox.Text);