在C#中从数据库显示文本框中的数据

时间:2016-11-27 09:25:52

标签: c# sql-server-2008

我的代码有什么问题吗?它没有在文本框中显示数据。同样的功能适用于数据库中的另一个表,但不适用于此表。

private void metroButton1_Click(object sender, EventArgs e)
    {
        con = new SqlConnection(constr);

        String query = "Select FROM Student WHERE Std_ID = '" + metroTextBox1.Text + "'";

        cmd = new SqlCommand(query, con);

        con.Open();
        try
        {
            using (SqlDataReader read = cmd.ExecuteReader())
            {
                while (read.Read())
                {
                    // metroTextBox1.Text = (read["ID"].ToString());
                    metroTextBox2.Text = (read["Name"].ToString());
                    metroTextBox3.Text = (read["F_Name"].ToString());
                    metroTextBox4.Text = (read["Std_Age"].ToString());
                    metroTextBox5.Text = (read["Address"].ToString());
                    metroTextBox6.Text = (read["Program"].ToString());
                    metroComboBox1.Text = (read["Course"].ToString());

                }
            }
        }
        finally
        {
            con.Close();
        }
    }

1 个答案:

答案 0 :(得分:2)

您需要在选择语句中提供列名称或选择*

例如:

 String query = "Select * from Student WHERE Std_ID = '" + metroTextBox1.Text + "'";

与问题无关:如果您有一个给定ID的记录,则可以将while循环更改为if条件。即使有很多给定id的记录,你也会看到最后一条记录数据,因为while循环会覆盖每条记录中的文本框。

更新:

  

Syntax没有任何问题,因为语法相同   致力于修改教师职业。

不,这是不正确的,请删除代码中的try catch,然后您会看到syntax error

的例外情况
相关问题