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

Posted 三年树木,五年树人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS连接Access数据库--连接字符串及执行查询语句的方法(增删改查,用户名查重,根据用户获取密码查询)相关的知识,希望对你有一定的参考价值。

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数据库--连接字符串及执行查询语句的方法(增删改查,用户名查重,根据用户获取密码查询)的主要内容,如果未能解决你的问题,请参考以下文章

mysql vs ms-access DB上的sql查询左连接

在VS2010中怎样用C#创建数据库连接并执行sql语句 最好举个例子讲一下

ASP.NET中操作SQL数据库(连接字符串的配置及获取)

如何使用 MySQl 的 ODBC 连接器在 MS Access 中的 VBA 中执行和查询?

Microsoft Access SQL 查询中的字符串连接问题

vs2015怎么连接mysql