我必須創建一個自動取款機應用程序才能訪問數據庫,該數據庫包含樣本客戶記錄。我在我的組合框中顯示來自accountInformation表(數據庫)的帳號的問題。我很確定我正確創建了數據庫連接,並且我認爲我的代碼會顯示組合框中的數字,所以我不確定問題出在哪裏。有什麼需要改變的comboBox屬性? 這裏是我的代碼:ComboBox未顯示來自數據庫的信息
using SQLDll;
namespace WindowsFormsApplication14
{
public partial class Form1 : Form
{
private Connection myConnection;
private Statement myStatement;
private ResultSet myResultSet;
String databaseURL = "http://www.boehnecamp.com/phpMyAdmin/razorsql_mysql_bridge.php";
public Form1()
{
InitializeComponent();
try
{
//connect to database
SQL sql = new SQL();
myConnection = sql.getConnection(databaseURL);
//create Statement for executing SQL
myStatement = myConnection.createStatement(databaseURL);
}
catch (Exception)
{
Console.WriteLine("Cannot connect to database server");
}
//close statement and database connection
myStatement.close();
myConnection.close();
}
private void Form1_Load(object sender, EventArgs e)
{
loadAccountNumbers();
}
public void setText(string text)
{
}
//load account numbers to ComboBox
private void loadAccountNumbers()
{
//get all account numbers from database
try
{
myResultSet = myStatement.executeQuery("SELECT accountNumber FROM accountInformation");
// add account numbers to ComboBox
while (myResultSet.next())
{
accountNumberComboBox.Items.Add(myResultSet.getString("accountNumber"));
}
myResultSet.close(); // close myResultSet
}//end try
catch (Exception)
{
Console.WriteLine("Error in loadAccountNumbers");
}
}//end method to loadAccountNumbers
你有什麼myResultSet聲明爲? (類型,值等) –
當您逐步完成代碼時會發生什麼?你有沒有進入'while(myResultSet.next())'循環? –
根據您在哪裏或如何調用方法,您可能需要在方法調用後插入'combobox.refresh()'。即使它是一個單線程程序,有時候也可能是這樣 - 我在前一天編寫的一個項目中體驗過它。而且你應該只在整個循環中加入斷點,看看你是否擊中了它。調試器是你的朋友! –