如何从数据库中获取字段

时间:2015-04-20 06:18:43

标签: c# sql asp.net

我想得到" 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;
}

1 个答案:

答案 0 :(得分:4)

一些事情:

  • 请勿使用select *,而是使用select 列名称
  • 不要将.Text直接传递给您的查询,而是使用parameterized sql expression
  • 如果Clientno是主键列,或者NameClientNo的组合会给出唯一结果,请使用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();
 }