你这个代码写得。。
函数 listBox1_SelectedIndex
{
listBox1ItemsClear();
while (sdrRead())
{
listBox1ItemsAdd(sdr["convey"]ToString()Trim());
}
}
不要在listbox1的SelectedIndex_Changed事件中执行你的代码,,自身会影响自身,或者这个函数根本就没有执行,设置其他的触发方式吧,比如加一个按钮,在buttonClick事件中执行
以users表为例,有三个字段,自增长的编号id,int类型;名称name,nvarchar类型,密码pwd,nvarchar类型
首先在vs2005中引入using SystemDataSqlClient;命名空间
/// 查询
/// </summary>
/// <returns></returns>
public DataTable Select()
{
SqlConnection conn = new SqlConnection(@"Data Source=\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True");//Initial Catalog后面跟你数据库的名字,如果你的SqlServer服务器名称后面不带SQLEXPRESS,那么Data Source=
connOpen();
string sql = "select from users";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sdaFill(dt);
connClose();
cmdDispose();
return dt;
}
方法写好后,在form窗体中拖一个comboBox,然后在Load方法中
private void Form1_Load(object sender, EventArgs e)
{
comboBox1DataSource = Select();//绑定数据
comboBox1DisplayMember="name";//下拉列表中显示的是你数据库中name的值
comboBox1ValueMember ="id";//这个一般绑定的是id,增加删除之用。这个属性也可不设
}
这样一运行,comboBox中就会显示数据了
listBox1DataSource = dsTables["address"];
改:
listBox1DataSource = ds;
listBox1DataSource = dsTables["address"] 后面加个属性,叫def开头的;
通过datasource属性绑定
比如使用数据库控件
datasource
控件会出现一个下拉框
选择需要绑定的数据控件,然后设置datamember绑定表,datafield绑定具体字段;也可以使用代码绑定
例如
set
list1datasource=adodc1recordset
list1refresh'刷新
以上就是关于为什么listbox中不显示数据库内容 该如何改表名是test 显示的项叫convey全部的内容,包括:为什么listbox中不显示数据库内容 该如何改表名是test 显示的项叫convey、BCB中怎么将数据库信息显示在combobox、listbox和数据库的绑定问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)