C#常见控件与SQL Sever数据库交互

下拉框(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();
}

好了,就到这吧!

最新文章

  1. 曼慧尼特u检验(两个样本数据间有无差异)
  2. 前端构建之gulp与常用插件
  3. Unity光照
  4. CentOS 防火墙打开和关闭端口(转载)
  5. String类详解,StringBuffer
  6. OpenCV学习(1) OpenCV的安装
  7. Android在包名称更改项目
  8. java的HashCode和equals
  9. 关于window service2008系统iis部署访问证书,内部错误
  10. Lucene查询索引
  11. [2019BUAA人工智能实战_陈泽寅]第1次个人作业
  12. linux centos 安装Jenkins(非docker方式)
  13. spring boot aop 自定义注解 实现 日志检验 权限过滤
  14. springboot2.0jar包启动异常
  15. vscode settings.json
  16. scala breeze使用替换底层线性库
  17. 一道DP
  18. MongoDB索引,性能分析
  19. STL源码分析-iterator
  20. ZigBee和Z-Wave的区别与未来

热门文章

  1. vs2017连接sqlsever数据库
  2. java面试-四维图新
  3. JavaScript 焦点事件
  4. 13_奈奎斯特稳定性判据_Nyquist Stability Criterion_Part 1
  5. 媒体查询@media的使用
  6. C#编写一个计算器
  7. java中如何按一定的格式输出时间, 必须给出例子
  8. 小程序预览图片wx.previewImage
  9. 爬虫---scrapy架构和原理
  10. SpringMVC详解及SSM框架整合项目