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;
      }
    }

 

主要对斯点子留个备份,也供应初学使用者参考。

 

相关文章