用C#代码如何实现把数据库的信息显示在comboBox上,求助.

要具体的代码,最后加上解释说明
2024-11-08 04:52:12
推荐回答(3个)
回答(1):

以users表为例,有三个字段,自增长的编号id,int类型;名称name,nvarchar类型,密码pwd,nvarchar类型
首先在vs2005中引入using System.Data.SqlClient;命名空间
/// 查询
///
///
public DataTable Select()
{
SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");//Initial Catalog后面跟你数据库的名字,如果你的SqlServer服务器名称后面不带SQLEXPRESS,那么Data Source=.
conn.Open();
string sql = "select * from users";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
conn.Close();
cmd.Dispose();
return dt;
}
方法写好后,在form窗体中拖一个comboBox,然后在Load方法中
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DataSource = Select();//绑定数据
comboBox1.DisplayMember="name";//下拉列表中显示的是你数据库中name的值
comboBox1.ValueMember ="id";//这个一般绑定的是id,增加删除之用。这个属性也可不设
}
这样一运行,comboBox中就会显示数据了

回答(2):

比如我现在要把sql server的数据库'XSGL'里面表"学生信息表"里的"学号"字段添加到combobox中;
首先导入命名空间System.Data.SqlClient;
在窗口加载中或你想触发事件的控件上把下面的代码复制上去

string strcon = "server=.;database=XSGL;trusted_connection=sspi";//设置连接字符串,根据你个人的数据库变化
SqlConnection myconnection = new SqlConnection(strcon);//创建连接对象,用上面的字符串初始化它
string strcmd = "select * from 学生信息表"; //设置查询命令字符串
SqlDataAdapter myadapter = new SqlDataAdapter(strcmd, myconnection);//创建数据适配器,用查询命令字符串和连接对象初始化它
DataSet myset = new DataSet(); //创建数据集
int n = myadapter.Fill(myset, "学生信息表");//填充数据集
comboBox1.Items.Clear(); //清空combobox里面的选项

//循环将数据库中学生信息表中的学号字段全部添加到combobox
for (int i = 0; i < n; i++)
{
comboBox1.Items.Add(myset.Tables[0].Rows[i]["学号"].ToString());
}

回答(3):

提取数据库之后
this.comboBox1.DataSource = "";//这里放数据源
this.comboBox1.DisplayMember = "";//这里放显示给你看的一个值这里可以放name
this.comboBox1.ValueMember = "";//这里放数据库中实际值,可以放id,后台操作的时候可以根据id来做出一系列的判断
this.comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;//设置下拉类型为DropDownList