下拉框(ComboBox)与数据库绑定
首先,我们采用DataSet作为临时的数据库,这样会比较好
那么,我们先创建两个成员(对象)
string sqlcon = "Data Source=DESKTOP-TF1OFLN;Initial Catalog=Demo;Integrated Security=True"; DataSet ds = new DataSet();
这里,我们先用一个string保存数据库的连接字符串,然后创建一个DataSet对象,这样我们可以直接让ComboBox与DataSet这个临时数据库绑定。
然后,我们拖一个ComboBox控件,我这里名字就默认算了。
在绑定数据之前,我们肯定是要将我们数据库的表填充到DataSet里面的,所以我们需要一个接口,连接好数据库
SqlConnection con = new SqlConnection(sqlcon); string sql = "SELECT * FROM Demo";
第一句用于打开与数据库的连接,括号内是我们上面的链接字符串。
第二句是我们的sql查询语句,我查询Demo表里面的所有内容。
好了,准备工作完成了,我们直接开始将数据添加到DataSet中。
SqlDataAdapter da = new SqlDataAdapter(sql,con); da.Fill(ds,"Demo");
我们创建一个DataAdapter对象,括号内第一个是我们上面的sql语句,第二个con是我们上面的数据库连接接口。
然后我们用这个对象(我这叫da)直接
.Fill
将数据添加到DataSet,括号内分别是DataSet对象名和我们的DataSet中的表名。
之后,我们直接点出控件绑定数据
this.comboBox1.DataSource = ds.Tables["Demo"]; this.comboBox1.ValueMember = "Name";
不细说,很简单,下面那个ValueMember
是绑定你数据库的字段名
最后贴个图,所有代码就这样
DataGridView控件绑定数据库源
我们经常会使用表格输出数据库内容,那就肯定少不了DataGridView
了
开头还是和之前一样,就不多说了
string sqlcon = "Data Source=DESKTOP-TF1OFLN;Initial Catalog=Demo;Integrated Security=True"; DataSet ds = new DataSet();
然后,数据添加到临时数据库也一样,我也不多说了
SqlConnection con = new SqlConnection(sqlcon); string sql = "SELECT * FROM Demo"; SqlDataAdapter da = new SqlDataAdapter(sql, con); da.Fill(ds, "Demo");
意思和上面是一模一样的!
然后,我们为DataGridView
控件绑定一下数据源,直接将属性点出来
ataGridView1.DataSource = ds.Tables["Demo"];
这样,我们就直接将控件的数据源绑定好了,但是注意,重点来了!
注意
我们还需要在DataGridView
的控件那给他添加项,你想输出几个数据库字段就添加几个项,每个项需要你自己去给每个列设置数据字段。
也就是说,我箭头指的这个地方需要填写你数据库字段的名字,我的数据库第一列叫Demo,我想输出第一列,就直接填了Demo,我绑定了三列,效果如下。
贴个代码全图
ListView控件绑定数据库源
在此省略数据库字段,创建数据库连接接口部分内容,因为和上面一样
但是,不同的是,我这里没有使用DataSet数据库
直接使用SqlCommand
对象来操作源数据库
首先,我们先看我这串框架
try { con.Open(); SqlCommand cmd = new SqlCommand(sql, con); }catch (Exception ex) { MessageBox.Show(ex.Message); } finally { con.Close(); }
这里我已经省略了创建连接接口
SqlConnection con = new SqlConnection(sqlcon);
因为没有使用DataSet,所以我需要使用连接接口来打开数据库,我们直接
con.Open()
然后就是我们的
Command
对象,我们直接new一个,并且在最后的括号内填上sql语句字符串和接口(con)
SqlCommand cmd = new SqlCommand(sql, con);
我们看这张图
看右侧箭头的位置,我们编辑列,注意,是列,因为数据库数据输出也是一列一列的!
然后我们在左侧设置里面添加成员,要输出多少列数据就添加多少列!
你给每一列定义一个名字,参考下图
添加完后,你要想让他一列一列显示还需要修改如下属性
然后,哎,这个控件一般不用来做表格和数据输出,我就直接贴个代码吧,有兴趣去了解,没兴趣直接CV,然后改改空间名就基本可以用。
public partial class Form1 : Form { string sqlcon = "Data Source=DESKTOP-TF1OFLN;Initial Catalog=Demo;Integrated Security=True"; //DataSet ds = new DataSet(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(sqlcon); string sql = "SELECT ID,Demo,Names FROM Demo"; try { con.Open(); SqlCommand cmd = new SqlCommand(sql, con); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { //将每行数据输入显示在lvShow控件里面 //ListViewItem对象 ListViewItem item = new ListViewItem(dr["Demo"].ToString()); //添加子项 item.SubItems.Add(dr[0].ToString()); item.SubItems.Add(dr[2].ToString()); //item.SubItems.Add(dr[3].ToString()); //将所有准备好的项添加到控件中 this.listView1.Items.Add(item); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { con.Close(); }
好了,就到这吧!