C#数据库的连接与C#数据库中的值赋给变量[access数据库为例]

C#数据库的连接与C#数据库中的值赋给变量[access数据库为例]

1.C#数据库的连接[access数据库]

工具:access 数据库
visual studio

首先来创建一个Access数据库,注意数据库文件名后缀为**.mdb**

文件-新建-输入文件名-选择文件保存路径
在这里插入图片描述
在这里插入图片描述
!!注意!! 文件保存类型为–Microsoft Access 数据库(2002-2003格式)–或者Microsoft Access 数据库(2002格式)–喔,这样新建的数据库文件后缀格式为.mdb,如果是其他类型的话后缀格式为.accdb或.adp喔

新建数据库之后,点击创建-表 就可以创建数据库需要的表了
在这里插入图片描述
接下来打开 visual studio

点击 工具-连接到数据库

在这里插入图片描述
点击 更改 选择Access数据库

在这里插入图片描述

浏览处选择刚才新建的数据库路径

在这里插入图片描述

点击测试连接

在这里插入图片描述
弹出测试连接成功窗口说明连接成功

重点:测试成功之后,点击高级,找到那串地址–复制–等会要用

在这里插入图片描述
回到C#编辑代码界面 在新建的窗口中添加一个Button和DataGridView控件
待会实现数据库的查询功能(DataGridView把查询结果显示出来)

在这里插入图片描述

双击Button按钮(文本-开始查询)

在头部添加代码 using System.Data.OleDbusing System.Data

在这里插入图片描述
Btuuon响应代码如下

注意! 这里我用了我以前新建的数据库, 产品.mdb

 private void button1_Click(object sender, EventArgs e)
   { 
        string Con = @"Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\Users\进\Desktop\库存管理系统\库存管理系统\bin\Debug\产品.mdb";
        
        //string Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=产品.mdb";
        //可把新建的数据库放到新建的C#工程项目文件夹中去,这样string Con 可变成↑如上
        
        OleDbConnection dbconn = new OleDbConnection(Con);
        dbconn.Open();//建立连接
        OleDbDataAdapter inst = new OleDbDataAdapter("SELECT *FROM 进货", dbconn);//选择全部内容
        // OleDbDataAdapter inst = new OleDbDataAdapter("数据库查询语言", dbconn)
        DataSet ds = new DataSet();//临时存储
        inst.Fill(ds);//用inst填充ds
        dataGridView1.DataSource = ds.Tables[0];//展示ds第一张表到dataGridView1控件
        dbconn.Close();//关闭连接
    }

产品数据库-进货表如下

在这里插入图片描述
点击开始查询之后,查询结果如下

在这里插入图片描述

2.C#数据库中的值赋给变量[access数据库为例]

产品数据库-产品表

在这里插入图片描述
查询产品编号为3,名称为西瓜的物品,把查询到的西瓜销售价格,出售价格,数量赋给double 变量 aa ,bb,cc;

代码:

 string s = "'3'";
string Con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=产品.mdb";
            OleDbConnection dbconn = new OleDbConnection(Con);
            dbconn.Open();//建立连接
            OleDbDataAdapter inst = new OleDbDataAdapter("SELECT 销售价格,进货价格,数量 FROM 产品 WHERE 产品编号="+s, dbconn);//选择全部内容
            DataSet ds = new DataSet();//临时存储
            inst.Fill(ds);//用inst填充ds         
            string a = ds.Tables[0].Rows[0]["销售价格"].ToString();
            string b = ds.Tables[0].Rows[0]["进货价格"].ToString();
            string c = ds.Tables[0].Rows[0]["数量"].ToString();
            double aa = Convert.ToDouble(a);//string类型的变量转化为double
            double bb = Convert.ToDouble(b);
            double cc = Convert.ToDouble(c);
            MessageBox.Show("销售价格: " + a + "进货价格: " + b + " 数量:" + c);
            dbconn.Close();//关闭连接

在这里插入图片描述

ds为DataSet 对象
DataSet可以比作一个内存中的数据库,DataTable是一个内存中的数据表,DataSet里可以存储多个DataTable

我们可以把DataTable和DataSet看做是一个数据容器,比如你查询数据库后得到一些结果,可以放到这种容器里面,这种容器的功能比较强大,除了可以存数据,还可以有更大用途。

解释:string a = ds.Tables[0].Rows[0][“销售价格”].ToString();
ds.Tables[i]表示ds的第i+1张表
Rows[i]第i+1行
string a =ds.Tables[0].Rows[0][“销售价格”]表示把查询到ds第一张表第一行里列名称为"销售价格"的值赋给string a

注:这是第一次尝试写文章,有不足或者错误请多多指教☺

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页