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

简介: 首先,我们采用DataSet作为临时的数据库,这样会比较好

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

好了,就到这吧!

相关文章
|
4天前
|
SQL 监控 安全
数据库安全:SQL注入防御实践
【7月更文挑战第11天】SQL注入攻击作为一种常见的网络攻击手段,对数据库的安全性和业务稳定构成了严重威胁。为了有效防御SQL注入攻击,开发者和数据库管理员应采取一系列实践措施,包括输入验证与过滤、使用参数化查询、限制数据库用户权限、使用Web应用程序防火墙、定期更新和打补丁、实施实时监控和审计以及使用HTTPS协议等。通过这些措施的实施,可以显著提升数据库的安全性,降低遭受SQL注入攻击的风险。同时,开发者和数据库管理员应持续关注新的安全威胁和防御技术,不断提升自身的安全防护能力。
|
5天前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
10天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
|
11天前
|
SQL 存储 关系型数据库
关系型数据库SQL Server学习
【7月更文挑战第4天】
21 2
|
5天前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
14 0
|
5天前
|
SQL 监控 Java
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
Java面试题:简述数据库性能优化的常见手段,如索引优化、SQL语句优化等。
10 0
|
13天前
|
SQL 存储 搜索推荐
SQL游标的原理与在数据库操作中的应用
SQL游标的原理与在数据库操作中的应用
|
8月前
|
SQL Oracle 关系型数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
本机不安装Oracle客户端,使用PL/SQL Developer连接远程数据库
174 0
|
SQL 程序员 数据库
【python】连接sql server数据库,并实现简单的增删改查(1)
Python编程语言越来越受到大家的喜爱,本篇文章就从链接微软数据库进行增删改查操作的讲解
581 0
|
27天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程