BCB中怎么将数据库信息显示在combobox

BCB中怎么将数据库信息显示在combobox,第1张

以users表为例,有三个字段,自增长的编号id,int类型;名称name,nvarchar类型,密码pwd,nvarchar类型

首先在vs2005中引入using System.Data.SqlClient命名空间

/// 查询

/// </summary>

/// <returns></returns>

public DataTable Select()

{

SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESSInitial Catalog=TestIntegrated 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中就会显示数据了

        private void Form1_Load(object sender, EventArgs e)

        {

            //根据你的实际情况调整连接字符串

            string connstring = @"data source=.initial catalog=aaaintegrated security=true"

            SqlConnection conn = new SqlConnection(connstring)

            conn.Open()

            DataTable dt = conn.GetSchema("Tables")

            //dataGridView1.DataSource = dt//方便查看dt的内容

            List<string> tableNames = dt.Rows.OfType<DataRow>().Select(x => (string)x["Table_Name"]).ToList()

            comboBox1.DataSource = tableNames

            conn.Close()

        }

这个功能很简单呀,我只能大致说一下思路,单击combobox以后,获取到选中的值,通过这个值查询a表中的记录,这个时候可以获取到aid,通过aid就可以获取到对应bid的记录了,在把你想要的东西显示在listbox中就行了。这个是最直白的思路,如果是想简单点,你查询的时候用SQL语句做一个连接查询,把a,b 表关联查询更快,至于获取控件值,控件显示值,连接数据库,数据库查询这些个问题,可能需要你自己百度一下,都是很基础的东西,网上资料很多的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9776642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存