2013-01-10 54 views
0

我試着去填充一個文本框,由使用該輸入throught這裏文本框的customerID搜索infromation是使用下面從訪問數據庫填充具有忠誠點的文本框;

private void txtCustomerID_TextChanged(object sender, EventArgs e) 
{ 
    string strCon = Properties.Settings.Default.PID2dbConnectionString; 
    OleDbConnection conn = new OleDbConnection(strCon); 

    String sqlPoints = "SELECT points FROM customer WHERE [customerID]=" + txtCustomerID.Text; 
    txtPoints.Text = sqlPoints; 
} 

代碼的IM,但文本框中輸入「txtPoints」只輸出文本的sqlpoint,而不是數據庫中的信息?我不確定我在這裏做錯了什麼。

任何幫助表示讚賞,在此先感謝。

回答

1

您沒有在數據庫上執行SQL語句。相反,您將其分配給txtPoints.Text。您需要使用例如OleDbCommand對象在數據庫服務器上執行它。

你需要做的,而不是什麼是類似如下(注意,這是僞代碼 - 我沒有測試它運行)

using (OleDbConnection conn = new OleDbConnection(strCon)) 
{ 
    String sqlPoints = "SELECT points FROM customer WHERE [customerID]=" + txtCustomerID.Text; 

    // Create a command to use to call the database. 
    OleDbCommand command = new OleDbCommand(sqlPoints, conn) 

    // Create a reader containing your results 
    using(OleDbReader reader = command.ExecuteReader()) 
    { 
     reader.Read(); // Advance to the first row. 
     txtPoints.Text = reader[0].ToString(); // Read the contents of the first column 
    } 
} 

還請注意我用的using。這將確保您的數據庫連接在完成後正確關閉。

+0

非常感謝!我明白現在好多了!附:即時通訊在「讀者」得到一個錯誤,它說它不存在於當前的情況下。 – Bunion

+0

對不起 - 我在添加關於「使用」的信息時豎起了一個編輯。該代碼現在已修復... –

+0

感謝他們分類! – Bunion