在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.(例如)
答案 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您的查询。 (不要进行字符串连接)