Как мне прочитать данные из базы данных и отобразить их в TextBox? - PullRequest
0 голосов
/ 01 апреля 2012

Я пытаюсь получить один столбец данных из таблицы MS-Access и отобразить его в текстовом поле, например,

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?
    } 

    ...
}

1 Ответ

3 голосов
/ 01 апреля 2012

Попробуйте изменить свой 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");
       }
    }  
}

Что я изменил / добавил:

  • Удалено глобальное var DataBase_Connection
  • Добавлены using к одноразовым объектам, поэтому они будут автоматически закрыто, когда больше не нужно
  • Добавлена ​​проверка DB_Reader.HasRows для исключения пустых результатов из запрос
  • Добавлена ​​настройка свойства text текстового поля со значением одна из ваших колонн
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...