C#数据库的连接与C#数据库中的值赋给变量[access数据库为例]
1.C#数据库的连接[access数据库]
首先来创建一个Access数据库,注意数据库文件名后缀为**.mdb**
文件-新建-输入文件名-选择文件保存路径
!!注意!! 文件保存类型为–Microsoft Access 数据库(2002-2003格式)–或者Microsoft Access 数据库(2002格式)–喔,这样新建的数据库文件后缀格式为.mdb,如果是其他类型的话后缀格式为.accdb或.adp喔
新建数据库之后,点击创建-表 就可以创建数据库需要的表了
接下来打开 visual studio
点击 工具-连接到数据库
浏览处选择刚才新建的数据库路径
点击测试连接
重点:测试成功之后,点击高级,找到那串地址–复制–等会要用
回到C#编辑代码界面 在新建的窗口中添加一个Button和DataGridView控件
待会实现数据库的查询功能(DataGridView把查询结果显示出来)
双击Button按钮(文本-开始查询)
在头部添加代码 using System.Data.OleDb 和 using System.Data
注意! 这里我用了我以前新建的数据库, 产品.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
注:这是第一次尝试写文章,有不足或者错误请多多指教☺