2012-03-31 89 views
0

我嘗試從MS-Access表得到一個數據列,並在這樣如何從數據庫讀取數據並將其顯示在TextBox中?

public partial class Form1 : Form 
{ 
    public OleDbConnection database; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private OleDbConnection Database_Connection; 

    private void Open_Database_button_Click(object sender, EventArgs e) 
    { 
     Database_Connection = new OleDbConnection(
      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="test.mdb"); 
     OleDbCommand Command = new OleDbCommand(
      " SELECT top 1 * from test", Database_Connection); 
     Database_Connection.Open(); 
     OleDbDataReader DB_Reader = Command.ExecuteReader(); 

     // How can I display the column in TextBox? 
    } 

    ... 
} 
+0

你的意思是你想要顯示一個記錄或一個字段而不是一列嗎?請不要忘記關閉數據庫連接。 – DOK 2012-03-31 20:28:16

+0

顯示記錄,好吧,我會關閉連接 – Wizard 2012-03-31 20:32:56

回答

3

嘗試一個文本框顯示它改變你的Open_Database_button_Click這樣:

private void Open_Database_button_Click(object sender, EventArgs e) 
{ 
    using(OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb")) 
    using(OleDbCommand Command = new OleDbCommand(" SELECT top 1 * from test", con)) 
    { 
     con.Open(); 
     OleDbDataReader DB_Reader = Command.ExecuteReader(); 
     if(DB_Reader.HasRows) 
     { 
      DB_Reader.Read(); 
      textbox1.Text = DB_Reader.GetString("your_column_name"); 
     } 
    } 
} 

我已經改變/說:

  • 刪除了全局變量DataBase_Connection
  • 新增using到一次性的對象,所以他們會自動關閉 當沒有更多需要
  • 上DB_Reader.HasRows新增支票從 查詢中排除空結果
  • 文本框的文本屬性的添加設置與 值你的列之一
+0

寫得很好,史蒂夫。 – DOK 2012-04-01 16:59:03

相關問題