我想得到" Model
"字段并放在Textbox6
上。但是为什么它不起作用。
问题是Model
textbox6
字段答案不会显示
string Query = "Select * from S where Name = '" + TextBox1.Text + "' and Clientno = '" + TextBox2.Text + "';";
command.CommandText = Query;
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string Model = reader.GetString(reader.GetOrdinal("Model"));
TextBox6.Text = Model;
}
答案 0 :(得分:4)
一些事情:
select *
,而是使用select
列名称 parameterized
sql expression Name
和ClientNo
的组合会给出唯一结果,请使用ExecuteScalar
,您不必使用ExecuteReader
和循环遍历datareader
由于您只使用一个字段并希望填写文本框,因此请将select
语句修改为:
select top 1 Model from S where....
如果您只阅读一行,则不需要while循环。此外,您应该始终关闭阅读器并使用块将SqlConnection放入其中。 (根据评论的建议编辑)
If (reader.Read())
{
TextBox6.Text = reader.GetString(reader.GetOrdinal("Model"));
reader.Close();
}