想要使用访问数据填充文本框

时间:2016-10-27 17:09:29

标签: c# visual-studio ms-access

在C#中我想使用访问数据填充我的textBox我使用ADO.Net连接访问。到目前为止,我已经得到了这个:

OleDbConnection con = new OleDbConnection(Price.constr);
        OleDbCommand cmd = new OleDbCommand();
        cmd.Connection=con;
        cmd.CommandText = "select * from Table1";
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);

Price.constr是我的连接字符串。 我想用text Column中的数据填充textBox1,其中我的行ID = 1.(例如)

1 个答案:

答案 0 :(得分:1)

如果您只想从表中读取一条记录,则无需返回整个表并使用适配器填充数据表。您只需要求数据库返回您感兴趣的记录即可。

string cmdText = "select * from Table1 WHERE ID = 1";
using(OleDbConnection con = new OleDbConnection(Price.constr))
using(OleDbCommand cmd = new OleDbCommand(cmdText, con))
{
    con.Open();
    using(OleDbDataReader reader = cmd.ExecuteReader())
    {
        if(reader.Read())
           textBox1.Text = reader["Price"].ToString();
        else
           textBox1.Text = "No record found";
    }
}

我将连接,命令和阅读器放在using语句中,因为这些是一次性对象,当你完成使用它们时,最好将它们销毁。 (特别是如果不进行处理,连接可能会导致问题)

另请注意,我已使用常量1来检索记录。我打赌你希望这是动态的,在这种情况下,我建议你看看如何PARAMETRIZE您的查询。 (不要进行字符串连接)