新手,无数据库知识基础,通过简单的显示数据库来慢慢理解C#和数据库的连接吧
网上查了下,自己简单写一下,提供给未接触过数据库的人当个入门吧
详细步骤
1、新建一个数据库,具体根据各个数据库的环境吧。
我本地有access,就以access为例吧
新建如下数据库,另存为student.accdb或student.mdb
2、vs新建一个winform项目
在winform里添加button,textBox和dataGridView,如下:
整个form的代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace ConnToAccess
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
OleDbCommand comm = new OleDbCommand();
OleDbDataAdapter da = new OleDbDataAdapter();
//access数据库连接字符串,自行更改数据库路径和名字
string ConnectionStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + @"\student.mdb;";
OleDbConnection conn = new OleDbConnection(ConnectionStr);
conn.Open();
comm.Connection = conn;
comm.CommandType = CommandType.Text;
comm.CommandText = "select * from student";//查询student表
da.SelectCommand = comm;
da.Fill(ds);
textBox1.Text = ds.Tables[0].Rows[0][0].ToString();//显示第一行第一列的一个值
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;//表从起始行显示在dataGridView里
conn.Close();
}
}
}
代码中Provider引擎可有2种写法:
Provider=Microsoft.ACE.OLEDB.12.0;
Provider=Microsoft.Jet.OLEDB.4.0;
区别:
ACE引擎,既可以访问Office 97-2003,也可以访问Office 2007 。
Jet 引擎,可以访问 Office 97-2003,但不能访问 Office 2007。所以,如果access数据库后缀名为.accdb(2007)就不能用jet引擎了。
3、将第一步创建的student.mdb/student.accdb复制到bin/debug文件夹内。(如果数据库文件是在别的位置,需要在代码里改一下Application.StartupPath为数据库的路径)
4、F5执行,点击button,显示如下:
其中textbox显示为第一行第一列的内容,可以根据需要调整
dataGridView显示的是整张表
(示例结束)
通过本例学习OleDb常用的几个命令,如OleDbCommand,OleDbDataAdapter,OleDbConnect做一个初步的理解
理解后,可以新增数据库命令过滤出想要的数据,或者操作数据库。
不管后面还有多少扩展知识,起码第一步先迈出去再说。