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

Want to Fill Text Box With Access Data

在 C# 中,我想使用访问数据来填充我的文本框,我正在使用 ADO.Net 连接到 access.So 到目前为止,我得到了这个:

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 是我的连接字符串。 我想用行 ID = 1 的价格列中的数据填充 textBox1。(例如)

如果您只想从 table 中读取一条记录,则无需 return 整个 table 并使用适配器来填充数据 table.您可以简单地要求数据库 return 只是您感兴趣的记录。

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";
    }
}

我已将连接、命令和 reader 包含在 using 语句中,因为它们是一次性对象,使用完毕后销毁它们是一个好习惯。 (特别是如果你不处理它,连接可能会导致问题)

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