ACCESS数据的连接及语句执行操作,不难,久不用会生疏,每次都要找资料,干脆自己整理下,记录下来,需要的时候,直接查看,提高效率。也供初学者参考

1、连接字符串

public static string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Directory.GetCurrentDirectory() + "\\**.mdb;";

2、数据语句执行(增删差改,用户名查重,根据用户获取密码查询)

   //获取所有数据集--返回所有数据

  public static DataSet ExecuteQuery(string strSql)    //strsql需要执行的查询语句
  {
     using (OleDbConnection conn = new OleDbConnection(strConn))
     {
      try
      {
        if (conn.State != ConnectionState.Open)
        {
          conn.Open();
        }
        OleDbDataAdapter adapter = new OleDbDataAdapter(strSql, strConn);
        DataSet ds = new DataSet();
        adapter.Fill(ds);
        return ds;
      }
      catch (OleDbException ole)
      {
        throw ole;
      }
      finally
      {
        conn.Close();
      }
    }

  }

   //增删改的查询语句的执行--返回受影响行数

    public static int ExecuteNonQuery(string strSql)    //strsql需要执行的查询语句
    {
      try
      {
        using (OleDbConnection conn = new OleDbConnection(strConn))
        {
          if (conn.State != ConnectionState.Open)
          {
            conn.Open();
          }
          OleDbCommand cmd = new OleDbCommand(strSql, conn);
          //执行事务,事务将控制和维护事务中每个操作的一致性和完整性
          OleDbTransaction ts = conn.BeginTransaction();
          cmd.Transaction = ts;
          int iRet = cmd.ExecuteNonQuery();
          if (iRet > 0)
          {
            ts.Commit();//如果返回数据大于0,执行操作
          }
          else
          {
            ts.Rollback();//不为0,则回滚
          }
          return iRet;
        }
      }
      catch (OleDbException OleDbException)
      {
        throw OleDbException;
      }
    }

    /// 查询返回第一行数据---根据用户名查密码(返回根据用户名返回的一条数据)
    public static DataRow ExecuteRow(string strLoginSql)    //strsql需要执行的查询语句
    {
      DataRow row;
      using (OleDbConnection conn = new OleDbConnection(strConn))   //尝试链接数据库
      {
        try
        {
          if (conn.State != ConnectionState.Open)
          {
            conn.Open();
          }
          OleDbDataAdapter adapter = new OleDbDataAdapter(strLoginSql, strConn);//实例化一个数据适配器
          DataTable ds = new DataTable();
          adapter.Fill(ds);//将数据填充到适配器中
          if (ds.Rows.Count == 0)
          {
            row = null;
          }
          else
          {
            row = ds.Rows[0];
          }
        }
        catch (Exception ex)
        {
          return null;
        }
        finally
        {
          conn.Close();
        }
      }
        return row;
    }

    /// 查询结果,返回第一行第一列----用于查重(注册用户名是否已经存在,插入数据是否已经存在)---返回0、1
 
    public static int ExecuteScalar(string strSql)    //strsql需要执行的查询语句
   {
      try
      {
        using (OleDbConnection conn = new OleDbConnection(strConn))
        {
          if (conn.State != ConnectionState.Open)
          {
            conn.Open();
          }
          OleDbCommand cmd = new OleDbCommand(strSql, conn);
          Object obj = cmd.ExecuteScalar();
          if (obj != null && !Convert.IsDBNull(obj))
          {
            return 1;
          }
          else
          {
            return 0;
          }
        }
      }
      catch (OleDbException OleDbException)
      {
          throw OleDbException;
      }
    }

主要对这个方法留个备份,也供初学使用者参考。

VS连接Access数据库--连接字符串及执行查询语句的方法(增删改查,用户名查重,根据用户获取密码查询)的更多相关文章

  1. 【.net 深呼吸】连接Access数据库应注意的几点

    本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...

  2. C#连接Access数据库(详解)

    做一个用VS2012的C#连接Access数据库的备忘, SQL数据库固然强大,有大微软的强力技术支持,LINQ的方便操作,但是如果写一个小程序对数据库方面没有什么大的要求的话,将来在数据库方面就可以 ...

  3. ASP.net分别连接SQLserver数据库与连接Access数据库精英版

    -------------------------连接access2003 字符串------------------------- Provider=Microsoft.Jet.OLEDB.4.0; ...

  4. php连接Access数据库错误及解决方法

    <?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.m ...

  5. php连接Access数据库的三种方法

    http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2009/1115/3524.html 虽然不是一个类但先放这儿吧 最近想把一个asp的网站改成 ...

  6. 三种php连接access数据库方法

    种是利用php的pdo,一种是odbc,com接口来与access数据库连接.利用pdo与access数据库连接 $path ="f:fontwww.jb51.netspiderresult ...

  7. 具体解释VB中连接access数据库的几种方法

    在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...

  8. JSP连接access数据库

    一个用jsp连接Access数据库的代码. 要正确的使用这段代码,你需要首先在Access数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数 ...

  9. Java Web项目中连接Access数据库的配置方法

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

随机推荐

  1. python 动态添加属性及方法及“__slots__的作用”

    1.动态添加属性 class Person(object): def __init__(self, newName, newAge): self.name = newName self.age = n ...

  2. P1912 [NOI2009]诗人小G[决策单调性优化]

    地址 n个数划分若干段,给定$L$,$p$,每段代价为$|sum_i-sum_j-1-L|^p$,求总代价最小. 正常的dp决策单调性优化题目.不知道为什么luogu给了个黑题难度.$f[i]$表示最 ...

  3. sublime插件insertDate显示ISO时间

    1 下载insertDate插件以及安装完毕 2 把光标放在想插入ISO时间的地方 3 按住:alt+f5,之后,在sublime下面的Date format string输入:iso.之后按ente ...

  4. Jenkins安装和配置FindBugs、PMD、CheckStyle等插件

    最近研究Jenkins的常用插件的使用,主要使用FindBugs.PMD.CheckStyle.Violations.Emma等插件,主要参考了http://blog.csdn.net/dc_726/ ...

  5. C#的Unit Test如何根据exception来判断函数是否执行正确

    添加ExpectedException属性, 然后指定异常类型, catch后决定Assert.IsTrue The following class contains the method to te ...

  6. 三层架构与MVC比较:

    三层架构与MVC比较: 1.两者不是同一概念 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目. 那么架构跟设计模式 ...

  7. java.lang.NoClassDefFoundError: org/springframework/dao/support/DaoSupport

    转自:https://blog.csdn.net/lzx159951/article/details/79753493 1. 缺少:org.springframework.transaction-3. ...

  8. Linux命令总结_命令执行顺序

    有时候,我们需要一个命令执行完之后再去执行另一个命令,使用 &&和 ||可以完成 这样的功能,相应的命令可以是系统命令或shell脚本 Shell还提供了在当前shell或子shell ...

  9. [hdu3853]LOOPS(概率dp)

    题意:迷宫是一个R*C的布局,每个格子中给出停留在原地,往右走一个,往下走一格的概率,起点在(1,1),终点在(R,C),每走一格消耗两点能量,求出最后所需要的能量期望. 解题关键:概率dp反向求期望 ...

  10. POJ 2311 Cutting Game (博弈)

    题意:给定一个长方形纸张,每次只能水平或者垂直切,如果切到1*1的方格就胜,问先手胜还是负. 析:根据Nim游戏可知,我们可以分别求出每个子游戏的和,就是答案,所以我们就枚举每一种切法,然后求出SG函 ...