繁体   English   中英

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

[英]Show data in Textboxes from database in C#

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

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();
        }
    }

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

例如 :

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

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

更新:

语法没有任何问题,因为相同的语法可用于修改教师功能。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM