【问题标题】:Combo Box and Database组合框和数据库
【发布时间】:2015-12-03 14:45:54
【问题描述】:

我想在我的组合框中显示来自数据库中项目的数据。我使用了这段代码:

Connect con = new Connect(); 
combox1.DataSource = con.executeSelect("SELECT itemNames FROM MsBook");

我使用了这段代码,但它不起作用。我创建了一个名为 Connect 的类。代码如下:

 class Connect
{
    SqlConnection con;
    public Connect()
    {
        String connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath + @"\Database1.mdf;Integrated Security=True;User Instance=True";
        con = new SqlConnection(connectionString);
    }

    public DataTable executeSelect(String query)
    {
        con.Open();
        SqlDataAdapter adapter = new SqlDataAdapter(query, con);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        con.Close();

        return dt;
    }

    public void execute(String query)
    {

        con.Open();
        SqlCommand cmd = new SqlCommand(query, con);
        cmd.ExecuteNonQuery();

        con.Close();
    }
}

你能给我举个例子吗 谢谢

【问题讨论】:

  • 欢迎来到 Stack Overflow。你说的没有工作是什么意思? ConnectexecuteSelect 方法的定义是什么? dataSource 不应该是 DataSource 吗?输入有关您的问题的模式详细信息。
  • 很抱歉,我没有就这些问题做出完整的陈述。我已经编辑了我的帖子。我希望它足够好。问题是我的组合框没有显示项目名称谢谢

标签: c# database combobox


【解决方案1】:

您必须在设计器或代码中将列值分配给组合框。在 ComboBox 的属性中,将 itemNames 放入 DisplayMember 和 ValueMember 中,或者使用如下代码:

Connect con = new Connect(); 
combox1.DisplayMember = "itemNames";
combox1.ValueMember = "itemNames";
combox1.DataSource = con.executeSelect("SELECT itemNames FROM MsBook");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 2016-11-16
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 2015-07-16
    相关资源
    最近更新 更多