C# 操作 access 数据库

随笔:

(1)   命名空间

            using System.Data.OleDb;

(2)   连接字符串

            private staticstring connStr = @"Provider= Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb";

            注意:

             a、DataSource = 数据库存放的路径(这里数据库放到了D盘目录下)

             b、 2003版本的Access数据库链接字符串:  privatestatic stringconnStr =@"Provider = Microsoft.Jet.OLEDB.4.0;DataSource = d:\login.mdb";

                   2007版本的Access数据库链接字符串:privatestaticstring connStr =@"Provider= Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb";

(3)   建立连接:

            OleDbConnection tempconn =new OleDbConnection(connStr);

(4)   使用OleDbCommand类来执行Sql语句:

           OleDbCommand cmd = new OleDbCommand(sql, tempconn);  

           tempconn.Open();

           cmd.ExecuteNonQuery();

栗子(工具类):

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.OleDb;

using System.Windows.Forms;

using System.Data;

 

namespace test

{

    class AccessHelper

    {

        private static string connStr = @"Provider = Microsoft.Ace.OLEDB.12.0;Data Source = d:\login.accdb";

 

        public static OleDbConnection GetConn()

        {

            OleDbConnection tempconn = new OleDbConnection(connStr);

            MessageBox.Show(tempconn.DataSource);

            tempconn.Open();

            MessageBox.Show(tempconn.State.ToString());

            return (tempconn);

        }

 

        /// <summary>

        /// 执行增加、删除、修改指令

        /// </summary>

        /// <param name="sql">增加、删除、修改的sql语句</param>

        /// <param name="param">sql语句的参数</param>

        /// <returns></returns>

        public static int ExecuteNonQuery(string sql, params OleDbParameter[] param)

        {

            using (OleDbConnection conn = new OleDbConnection(connStr))

            {

                using (OleDbCommand cmd = new OleDbCommand(sql,conn))

                {

                    if (param != null)

                    {

                        cmd.Parameters.AddRange(param);

                    }

                    conn.Open();

                    return(cmd.ExecuteNonQuery());

                }

            }

        }

 

        /// <summary>

        /// 执行查询指令,获取返回的首行首列的值

        /// </summary>

        /// <param name="sql">查询sql语句</param>

        /// <param name="param">sql语句的参数</param>

        /// <returns></returns>

        public static object ExecuteScalar(string sql, params OleDbParameter[] param)

        {

            using (OleDbConnection conn = new OleDbConnection(connStr))

            {

                using (OleDbCommand cmd = new OleDbCommand(sql, conn))

                {

                    if (param != null)

                    {

                        cmd.Parameters.AddRange(param);

                    }

                    conn.Open();

                    return (cmd.ExecuteScalar());

                }

            }

        }

 

        /// <summary>

        /// 执行查询指令,获取返回的datareader

        /// </summary>

        /// <param name="sql">查询sql语句</param>

        /// <param name="param">sql语句的参数</param>

        /// <returns></returns>

        public static OleDbDataReader ExecuteReader(string sql, params OleDbParameter[] param)

        {

            OleDbConnection conn = new OleDbConnection(connStr);

            OleDbCommand cmd = conn.CreateCommand();

            cmd.CommandText = sql;

            cmd.CommandType = CommandType.Text;

            if (param != null)

            {

                cmd.Parameters.AddRange(param);

            }

            conn.Open();

            return (cmd.ExecuteReader(CommandBehavior.CloseConnection));

 

        }

 

        /// <summary>

        /// 执行查询指令,获取返回datatable

        /// </summary>

        /// <param name="sql">查询sql语句</param>

        /// <param name="param">sql语句的参数</param>

        /// <returns></returns>

        public static DataTable ExecuteDatable(string sql, params OleDbParameter[] param)

        {

            using (OleDbConnection conn = new OleDbConnection(connStr))

            {

                using (OleDbCommand cmd = new OleDbCommand(sql, conn))

                {

                    if (param != null)

                    {

                        cmd.Parameters.AddRange(param);

                    }

                    DataTable dt = new DataTable();

                    OleDbDataAdapter sda = new OleDbDataAdapter(cmd);

                    sda.Fill(dt);

                    return (dt);

                }

            }

 

        }

    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据和云计算技术

索引技术简介

2.索引技术 索引是关系型数据库里的重要概念。总的来说,索引就是拿空间换时间。数据库技术和大数据技术会有一个融合的过程,除了前面讲到的B数索引、Hash索引等,...

5458
来自专栏H2Cloud

H2Engine游戏服务器设计之属性管理器

游戏服务器设计之属性管理器   游戏中角色拥有的属性值很多,运营多年的游戏,往往会有很多个成长线,每个属性都有可能被N个成长线模块增减数值。举例当角色戴上武器时...

3904
来自专栏屈定‘s Blog

由需求而产生的一款db导出excel的工具

程序员最大的毛病可能就是懒,因为懒所以做出了许许多多提高自己工作效率的工具. 起因于我是商业开发,既然是商业项目避免不了各种数据统计,虽然公司有专门的数据平台,...

1585
来自专栏王清培的专栏

.NET框架设计(常被忽视的框架设计技巧)

阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变...

2598
来自专栏搜云库

Spring Boot 中使用 Java API 调用 Elasticsearch

ElasticSearch 是一个高可用开源全文检索和分析组件。提供存储服务,搜索服务,大数据准实时分析等。一般用于提供一些提供复杂搜索的应用。 Elastic...

1.7K11
来自专栏IT笔记

JAVA工作三年面试(二)

这里讲述下第二家公司的面试,这是一家大型互联网公司,简称W,一般像博主这样的传统行业去跳到这种公司简直是要跪舔的节奏,所以从一开始就带着一份敬仰之情去面试。由于...

4227
来自专栏菩提树下的杨过

silverlight:telerik RadControls中RadGridView的一个Bug及解决办法

当RadGridView中嵌套RadComboBox,且RadGridView的高度不够出现滚动条时,上下拉动滚动条后,RadComboBox中的选中值将丢失!...

2127
来自专栏流媒体

MediaCodec进行AAC编解码(AudioRecord采集录音)

最近工作比较忙,很久没有更新这个系列的文章。我们先回顾一下上一篇MediaCodec进行AAC编解码(文件格式转换)的内容,里面介绍了MediaExtracto...

1774
来自专栏魏琼东

本人为巨杉数据库(开源NoSQL)写的C#驱动,支持Linq,全部开源,已提交github

一、关于NoSQL的项目需求      这些年在做AgileEAS.NET SOA 中间件平台的推广、技术咨询服务过程之中,特别是针对我们最熟悉的医疗行业应用之...

7008
来自专栏小狼的世界

使用Python读取Mp3的标签信息

MP3是音频文件最流行的格式,它的全称是 MPEG layer III。但是这种格式不支持对于音频内容的描述信息,包括歌曲名称、演唱者、专辑等等。

1723

扫码关注云+社区

领取腾讯云代金券