如何显示数据库表中的TextBox / ComboBox值?

Hui Liu-MSFT 40,866 信誉分 Microsoft 供应商
2024-02-02T09:29:36.9966667+00:00

有一个数据库表 TableUser,有四个字段:FirstName、LastName、Country、State。实际上,还有另一个字段 Username,它不需要用户提供,它是 ENvironment.Name 当用户提交他/她的信息时,前三个字段是必填字段,状态是可选的。 现在在另一种形式中,用户想要更新他/她的信息(保证用户在数据库中)。 问题分为两部分:
如何将记录值显示回 TextBox/ComboBox?
当用户更新他/她的信息时,如何编写代码来更新数据库中的信息?前三个字段是必填字段,状态是可选的。 谢谢。

private void ChildForm1_Load(object sender, EventArgs e)
           {


               OdbcConnection Cn = new OdbcConnection(GlobalVariables.DatabaseConnectionString);
               Cn.Open();

 string query = "SELECT * from TableUser WHERE Username = '" + ENvironment.Name + "'";
 //It is guaranteed that there is one record

 TextboxFirstName.Text = FirstName from returned query; there is a value
 TextboxLastName.Text = LastName from returned query; there is a value

 ComboBoxCountry.Text = Country from returned query; there is a value
 ComboBoxState.Text = State from returned query; It may be missing/null


               Cn.Close();


           }


Note:此问题总结整理于: How to display TextBox/ComboBox value from database table?

Windows 窗体
Windows 窗体
一组用于开发图形用户界面的 .NET Framework 托管库。
90 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 34,501 信誉分 Microsoft 供应商
    2024-02-02T09:54:51.1433333+00:00

    您好,

    您可以尝试以下代码:

    using (OdbcConnection connection = new OdbcConnection())  
     {  
            connection.ConnectionString = "Your connectionString";  
            connection.Open();  
            OdbcCommand command = new OdbcCommand("SELECT * from TableUser WHERE Username = '" + ENvironment.Name + "'", connection );  
            // Execute the DataReader and access the data.  
            OdbcDataReader dr = command.ExecuteReader();  
            while (dr.Read())  
            {  
               TextboxFirstName.Text = dr["FirstName"].ToString();  
               TextboxLastName.Text = dr["LastName "].ToString();  
            }  
    }  
    

    对于问题 2,可以使用 OdbcCommand.ExecuteNonQuery 方法对连接执行 SQL 语句。
    这是代码示例,您可以参考此文档

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助