2013-03-13 92 views
0

我需要做的是基本上將用戶名(已經存儲爲變量)和他們的分數(也是一個變量)存儲在我的數據庫中,當他們按'提交' 。這裏是我點擊按鈕的代碼。從窗口獲取數據

private void btnSubmitScore_Click(object sender, EventArgs e) 
{ 
    string connStr = "server=server; " + 
        "database=databasename; " + 
        "uid=username; " + 
        "pwd=password;"; 
    MySqlConnection myConn = new MySqlConnection(connStr); 
} 

很明顯,我已經改變了login細節等,我不得不環顧四周,並只設法找到有關如何在表單中顯示數據庫中的數據(我會做這個版本)混亂的代碼,但現在,我需要知道如何將sNameiTotalScore添加到數據庫中。 (字段在DB稱爲'Name''Score'

+0

請嘗試發佈更清潔的代碼示例。這並不是完全不可讀的,但這是一個很好的習慣,因爲對潛在的回答者來說,這是一件小事。 – millimoose

+0

此外,Connector/NET附帶教程:http://dev.mysql.com/doc/refman/5.6/en/connector-net-tutorials-intro.html。這似乎是他們應該充分涵蓋的主題。 – millimoose

+0

我看了一下鏈接,但這一切對我來說都沒有什麼意義,我只是無法擺脫它。如果我將我的整個代碼發佈到表單中,它會有幫助嗎? –

回答

0

我不熟悉MySQL連接,但代碼應該是沿着線的東西:您要使用的SqlConnection組合

private void Insert() 
{ 
    string connStr = "server=server; " + 
       "database=databasename; " + 
       "uid=username; " + 
       "pwd=password;"; 

    string query = "INSERT INTO TableName('Name','Score) VALUES (@name, @score);"; 

    using(MySqlConnection connection = new MySqlConnection(connStr)) 
    { 
     MySqlCommand insertCommand = new MySqlCommand(connection,command); 
     insertCommand.Paramaters.AddWithValue("@name",sName); 
     insertCommand.Paramaters.AddWithValue("@score",iTotalScore); 
     connection.Open(); 
     command.ExecuteNonQuery(); 
     connection.Close(); 
    } 
} 
+0

正如@millimoose提到的,你應該查閱文檔的確切語法。 – mematei

+1

您已重複您的'@ name'參數,而不是同時添加'@ score'。 (我將編輯修復!) –

0

SqlCommand及其屬性。連接本質上就是你的代碼的東西。該命令是一個文字SQL語句或對存儲過程的調用。

常見的C#成語是周圍形成的第一行代碼如下所示:

using (SqlConnection myConnection = new SqlConnection()) { 
    string doThis = "select this, that from someTable where this is not null"; 
    SqlCommand myCommand = new SqlCommand(dothis, myConnection); 

    try { 
     myCommand.Connection.Open(); 
     myReader = myCommand.ExecuteReader(); //pretend "myReader" was declared earlier 

    } catch (Exception myEx) { 
     // left to your imagination, and googling. 
    } 
    finally { 
     myCommand.Connection.Close(); 
    } 
} 

// do something with the results. Your's to google and figure out 

一般概述

  1. 使用連接
  2. 實例化和配置的SqlCommand
  3. 如圖所示使用try/catch。
  4. 「使用」塊提供了在幕後清理/處理所有這些當我們完成後不再需要的對象;特別是SqlConnection對象。

您必須瞭解更多關於這些Sqlxxxxx類,有很多方法可以配置它們以執行您想要的操作。

+1

你已經描述了一個Sql選擇,但問題在於引用一個'INSERT'(或者''UPDATE')操作。 –