想要用访问数据填充文本框
本文关键字:填充 文本 数据 访问 | 更新日期: 2023-09-27 18:15:27
在c#中,我想使用访问数据来填充我的文本框,我使用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);
价格。constr是我的连接字符串。我想用价格列中的数据填充textBox1,其中我的行ID = 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来检索记录。我敢打赌,您希望这是动态的,在这种情况下,我建议您看看如何参数化您的查询。(不要进行字符串连接)