想要一个操作access数据库的类,那位兄弟能提供一个,谢了!

解决方案 »

  1.   

    "操作access数据库"  没做过!顶
      

  2.   

    Microsoft Data Application Block 里面有个SQLHelper的类,你把所有的Sql替换成OleDb ,然后把几个关于 XmlReader的方法注释掉就可以了
      

  3.   

    我在网上找了个sql2000的,挺好用的,没有access的吗?
      

  4.   

    希望对你有帮助////////////////////////////////////////////////////////////////////////
    //
    //
    //  (DBOperator.cs) .Net男孩社区论坛系统-数据库操作类 www.aspxboy.com/forum
    //  Created: 2003-9-25 
    //
    ////////////////////////////////////////////////////////////////////////using System;
    using System.Text;
    using System.Data;
    using System.Web;
    using System.Data.OleDb;
    using System.Configuration;namespace AspxBoy.Com.Forum
    { /// <summary>
    /// 定义通用数据库操作类DBOperator,各方法,属性均为静态。
    /// </summary>
    # region 通用函数、方法等
    public  class DBOperator
    {
    # region 数据库连接字myConnString
    public static string myConnString
     {
    get
    {
    StringBuilder str= new StringBuilder(ConfigurationSettings.AppSettings["Provider"]);
    str.Append("; ");
    str.Append("Data Source = ");
    str.Append(HttpContext.Current.Server.MapPath("."));
    str.Append("\\");
    str.Append(ConfigurationSettings.AppSettings["ForumDataSource"]);
    return str.ToString();
    }
     }
     #endregion
    public  static OleDbConnection myConn = new OleDbConnection(myConnString);
    # region  方法:CreatConnection()创建并且打开一个数据库连接,无返回值
    public  static OleDbConnection CreatConnection()
     {
     if( myConn == null )
    myConn = new OleDbConnection(myConnString);
    myConn.Open();
     return myConn;
     }
    #endregion    # region 方法: QueryDB(string)通过一个SQL语句查询数据库,返回一个DataTable
     public static  DataTable QueryDB(string mySelectText)
     {
    OleDbConnection myConnection = CreatConnection();
    DataTable dt = new DataTable();
    OleDbDataAdapter da = new OleDbDataAdapter(mySelectText, myConnString);
    try
    {
    da.Fill(dt);
    }
    catch
    {
    }
    finally
    {
    myConnection.Close() ;
    }
    return dt;
     }
     #endregion # region 方法:UpdateDB(string)通过一个SQL语句操作数据库,返回int型
    public static  int UpdateDB(string myUpdateText)
    {
    // 更新数据库
    OleDbConnection myConnection = CreatConnection() ;
    OleDbCommand myCommand = new OleDbCommand(myUpdateText,myConnection) ;
    int i = 0;

    try
    {
    i = myCommand.ExecuteNonQuery() ;
    }
    catch
    {
    }
    finally
    {
    myCommand.Connection.Close() ;
    }
    return i ;
    }
    #endregion # region 方法:exeSql(string)通过一个SQL语句查执行操作,返回int型
    public static  int exeSql(string strSql)
    {
       OleDbConnection myConnection=CreatConnection();
      OleDbCommand myCommand=new OleDbCommand(strSql,myConnection);
       int i=0;
       try
       {
       i = myCommand.ExecuteNonQuery();
       }
       catch
       {
       }
       finally
    {
    myCommand.Connection.Close() ;
    }
       return i;
    }
    #endregion # region 方法:exeSql(string,string[], object[])通过SQL语句,和参数配合执行操作,返回int型
    public static int exeSql(string strSql,string[] strParams,params object[] strValues)
    {
       OleDbConnection myConnection=CreatConnection();
      OleDbCommand myCommand=new OleDbCommand(strSql,myConnection);
       int intResult=0;
       if(strParams!=null)
    {
    for(int i=0;i<strParams.Length;i++)
    {
    myCommand.Parameters.Add(new OleDbParameter(strParams[i],strValues[i]));
    }
    try
    {
    intResult=myCommand.ExecuteNonQuery();
    }
    catch
    {
    }
    finally
    {
    myCommand.Connection.Close() ;
    }
    }
       return intResult;
    }
    #endregion #region 方法:GetSingleValue(string)通过SQL语句配合参数查询并返回int
    public static int GetSingleValue(string mySelectText,string[] strParams,params object[] strValues)
    {
    OleDbConnection myConnection = CreatConnection();
    OleDbCommand myCommand = new OleDbCommand(mySelectText,myConnection);
    int intResult=0 ;
    if(strParams!=null)
    {
    for(int i=0;i<strParams.Length;i++)
    {
    myCommand.Parameters.Add(new OleDbParameter(strParams[i],strValues[i]));
    }
    try
    {
    intResult = int.Parse(myCommand.ExecuteScalar().ToString()) ;
    }
    catch
    {
    }
    finally
    {
    myCommand.Connection.Close() ;
    }
    }
    return  intResult;
    }
    #endregion #region 方法:GetOneFiled(string)通过一个SQL语句查询并返回单个字段object型
    public static  object GetOneFiled(string mySelectText,string FiledName)
    {
    OleDbConnection myConnection = CreatConnection();
    OleDbCommand myCommand = new OleDbCommand(mySelectText,myConnection) ;
    object obj=null;
    try
    {
    OleDbDataReader Rd=myCommand.ExecuteReader(System.Data.CommandBehavior.SingleRow);
    if(Rd.Read())
    {
    obj=Rd[FiledName];
    }
    else
    {
    obj=null;
    }
    Rd.Close();
    }
    catch
    {
    }
    finally
    {
    myCommand.Connection.Close() ;
    }
    return obj;
    }
    # endregion # region 方法:GetSomeFiled(string,string[],string[], object[],string) 通过SQL语句,和参数配合执行操作
    public static object[] GetSomeFiled(string mySelectText,string[] strFiled,string[] strParams,object[] strValues)
    {
    OleDbConnection myConnection = CreatConnection();
    OleDbCommand myCommand = new OleDbCommand(mySelectText,myConnection);
    object[] obj =new object[10];
    if(strParams!=null)
    {
    for(int i=0;i<strParams.Length;i++)
    {
    myCommand.Parameters.Add(new OleDbParameter(strParams[i],strValues[i]));
    }
    try
    {
    for(int i=0;i<strFiled.Length;i++)
    {
    OleDbDataReader Rd=myCommand.ExecuteReader();
    if(Rd.Read())
    obj[i]=Rd[strFiled[i]];
    Rd.Close();
    }
    }
    catch
    {
    }
    finally
    {
    myCommand.Connection.Close() ;
    }
    }
    return obj;
    }
    #endregion # region 事务处理:exeTrans(string[])通过一个SQL语句数组操作数据库,返回一个整形数组int[]
    public static int[] exeTrans( string[] arr )
    {
    string str = "" ;
    int[]  return_arr = new int[ arr.Length ] ;
    OleDbConnection myConnection = CreatConnection();
    OleDbTransaction myTrans = myConnection.BeginTransaction();
    OleDbCommand myCommand = new OleDbCommand();
    myCommand.Transaction = myTrans;
    myCommand.Connection = myConnection;
    try
    { //提交事务
    for( int i = 0 ; i < arr.Length ; i++ )
    {
    if( arr[i] == null || arr[i].Trim() == "" )
    continue ;
    myCommand.CommandText = arr[i] ;
    return_arr[i] = myCommand.ExecuteNonQuery();
    }
    myTrans.Commit();
    }
    catch( Exception ep )
    {
    //有异常则回滚事务
    str = ep.Message ;
    myTrans.Rollback();
    for( int i = 0 ; i < arr.Length ; i++ )
    return_arr[i] = -1 ;
    }
    finally
    {
    myCommand.Connection.Close() ;
    }
    return return_arr;
    }
       #endregion
    }
    # endregion
    }
      

  5.   

    你已经找到SqlClient连接方式的类,自己动手改一下不就行了吗?
    主要改动的地方在于连接方式,以及DataReader的调用
      

  6.   

    楼上兄弟提供的类,编译的时候好像会出错,提示“HttpContext.Current”不能识别。不知道什么原因
      

  7.   

    http://www.microsoft.com/downloads/details.aspx?FamilyId=F63D1F0A-9877-4A7B-88EC-0426B48DF275&displaylang=en
    里面有个SQLHelper的类,你把所有的Sql替换成OleDb ,然后把几个关于 XmlReader的方法注释掉就可以了
      

  8.   

    楼上兄弟提供的类,编译的时候好像会出错,提示“HttpContext.Current”不能识别。不知道什么原因----
    添加using System.Web;