当前位置: 移动技术网 > IT编程>开发语言>c# > C# Access数据库增删查改的简单方法

C# Access数据库增删查改的简单方法

2019年07月18日  | 移动技术网IT编程  | 我要评论
引用集:using system.data.oledb;复制代码 代码如下:static string exepath = system.environment.curre

引用集:
using system.data.oledb;

复制代码 代码如下:

static string exepath = system.environment.currentdirectory;//本程序所在路径

//创建连接对象
oledbconnection conn = new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=" + exepath + @"\文件名.mdb");

1.和查询有关的,如获取表数据(包括所谓的“刷新”和“连接数据库”)、按条件查询,都是用的 oledbdataadapter

复制代码 代码如下:

private void 获取数据表/查询()
{
    conn.open();

    //获取数据表
    //string sql = "select * from 表名 order by 字段1";
    //查询
    string sql = "select * from 表名 where 字段2="...;

    oledbdataadapter da = new oledbdataadapter(sql, conn); //创建适配对象
    datatable dt = new datatable(); //新建表对象
    da.fill(dt); //用适配对象填充表对象
    datagridview1.datasource = dt; //将表对象作为datagridview的数据源

    conn.close();
}

其中“获取数据表”属于频繁被嵌套调用的方法,所以应去掉头尾的conn.open和close,以免和其他方法中的open发生累加从而报错。

2.凡涉及修改表数据的,如增、删、保存修改,都是用 oledbcommand

复制代码 代码如下:

private void 增/删/改()
{
     conn.open();

     //增
     string sql = "insert into 表名(字段1,字段2,字段3,字段4)values(...)";
     //删
     //string sql = "delete from 表名 where 字段1="...;
     //改
     //string sql = "update student set 学号=" ...;

     oledbcommand comm = new oledbcommand(sql, conn);

     comm.executenonquery();

     conn.close();
}


其中executenonquery被成功更改的元组数量,所以comm.executenonquery()也可以改造为判断,提示用户成功或失败。
复制代码 代码如下:

int i = comm.executenonquery();
if (i > 0)
{
      messagebox.show("添加数据成功!", "操作提示", messageboxbuttons.ok, messageboxicon.information);
}
else
{
      messagebox.show("添加失败!", "操作提示", messageboxbuttons.ok, messageboxicon.error);
}

3.对datagridview中数据更改的保存

复制代码 代码如下:

private void savedata2()
{
     datagridview1.endedit();

     string sql = "select * from 表名";

     oledbdataadapter da = new oledbdataadapter(sql, conn);

     oledbcommandbuilder bld = new oledbcommandbuilder(da);
     da.updatecommand = bld.getupdatecommand();

        //把datagridview赋值给datatbale。(datatable)的意思是类型转换,前提是后面紧跟着的东西要能转换成datatable类型
     datatable dt = (datatable)datagridview1.datasource;

     da.update(dt);
     dt.acceptchanges();

     conn.close();
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网