时间:2021-07-01 10:21:17 帮助过:44人阅读
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数据库--连接字符串及执行查询语句的方法(增删改查,用户名查重,根据用户获取密码查询)
标签: