星空网 > 软件开发 > 数据库

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数据库

关键词:数据库

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊个人卖家好做么?如何做好个人卖家?:https://www.ikjzd.com/articles/133040
旺季来了!想要在拉美打造爆品、挖掘客户?先搞清楚这些!:https://www.ikjzd.com/articles/133041
火爆全球的明星产品疯狂发案维权,这些侵权陷阱你一定要知道!:https://www.ikjzd.com/articles/133042
跨境电商支付收款方式:https://www.ikjzd.com/articles/133044
WhatsApp号被封号?教你解封:https://www.ikjzd.com/articles/133045
最新数据:美国电商感恩节/黑五/网一销售额预计增长49.5%/39.4%/38.3%:https://www.ikjzd.com/articles/133046
深度解析:美国公司股东人数限制 :https://www.kjdsnews.com/a/1840835.html
深度解析:美国公司股东人数限制 :https://www.xlkjsw.com/news/88201.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流