public DataTable ExcuteSelect(string stroledb) { 
    //数据库的选择函数 选择语句执行
        string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb");
        DbProviderFactory dbProviderFactory = DbProviderFactoris.GetFactory("System.Data.Oledb");
        DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接类
        dbConn.ConnectionString = strConn;
        dbConn.Open();//打开连接
        DbCommand dbComm = dbProviderFactory.CreateCommand();//设置命令
        dbComm.Connection = dbComm;//绑定连接
        dbComm.ConnectionText = stroledb;//绑定oledb
        DbDataAdaper adapter = dbProviderFactory.CreateDataAdapter();   
        adapter.SelectCommand = dbComm;
        DataSet dsDataSet = new DataSet();//初始化dataset
        adapter.Fill(dsDataSet,"table");//获得结果
        return dsDataSet.Tables["table"];
    }
    public void ExcuteOledb(string stroledb) { 
    //数据库的操作函数
        string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb");//连接字符串
        DbProviderFactory dbProviderFactory = dbProviderFactories.GetFactory("System.Data.Oledb");
        DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接
        dbConn.ConnectionString = strConn;
        dbConn.Open();
        DbCommand dbComm=dbProviderFactory.CreateCommand();
        dbComm.Connection=dbConn;
        dbComm.CommandText=stroledb;
        dbComm.ExecuteNonQuery();
        dbConn.Close();
        dbConn.Dispose();
    }
帮我解释下这种用法
我能明白就给分
请解释仔细点

解决方案 »

  1.   

    注释都有了啊 
    ExcuteSelect 执行SELECT语句获得表的 用DbDataAdaper的Fill方法获取表ExcuteOledb直接执行SQL语句的 如Insert Delete UpDate什么的.. 不要返回结果.....
      

  2.   

    public DataTable ExcuteSelect(string stroledb) { 
        //数据库的选择函数 选择语句执行 
            string strConn = "provider=Microsoft.Jet.OLEDB.4.0;Data source=" & Server.MapPath("/App_Data/#data.mdb"); 
            DbProviderFactory dbProviderFactory = DbProviderFactoris.GetFactory("System.Data.Oledb"); 
            DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接类 
            dbConn.ConnectionString = strConn; 
            dbConn.Open();//打开连接 
            DbCommand dbComm = dbProviderFactory.CreateCommand();//设置命令 
            dbComm.Connection = dbComm;//绑定连接 ---->这个绑定连接错了,
            dbComm.ConnectionText = stroledb;//绑定oledb 
            DbDataAdaper adapter = dbProviderFactory.CreateDataAdapter();  
            adapter.SelectCommand = dbComm; 
            DataSet dsDataSet = new DataSet();//初始化dataset 
            adapter.Fill(dsDataSet,"table");//获得结果 
            return dsDataSet.Tables["table"]; 
        } 
    这是企业库里面的连接OLEDB数据库的方法,然后传回一个数据集.主要用在查询上。
    下面的那个就是通过调用public void ExcuteOledb(string stroledb)这个方法,传一个SQL语句进来执行,返回值为空。主要用在插入和更新删除等不需要返回结果的操作上。
    看下企业库中的数据方面的,应该会明白的。
      

  3.   

    这种写法见过啊
     DbProviderFactory dbProviderFactory = DbProviderFactoris.GetFactory("System.Data.Oledb"); 
            DbConnection dbConn = dbProviderFactory.CreateConnection();//定义连接类 
            dbConn.ConnectionString = strConn; 
            dbConn.Open();//打开连接 
            DbCommand dbComm = dbProviderFactory.CreateCommand();//设置命令 
            dbComm.Connection = dbComm;//绑定连接 
            dbComm.ConnectionText = stroledb;//绑定oledb 
            DbDataAdaper adapter = dbProviderFactory.CreateDataAdapter();  
            adapter.SelectCommand = dbComm; 
            DataSet dsDataSet = new DataSet();//初始化dataset 
            adapter.Fill(dsDataSet,"table");//获得结果         return dsDataSet.Tables["table"]; 
    有谁解释仔细点按
    DbConnection这个好像不是类里面自带的把是自定义的吗
      

  4.   

    你上面的代码注释都写得那么清楚了,一看应该就明白,我想你是想知道DbConnection、DbCommand 和 DbException (ADO.NET)这几个类吧参见:
    http://msdn.microsoft.com/zh-cn/library/9hy8csk1.aspx
      

  5.   


    Db* 系列是 .net 2.0 新增的, 微软朝提供者无关性方向做的努力.单纯依靠这个, 真实无关照样很难
      

  6.   

    ExecuteNonQuery()对Connection执行命令并返回受影响的行数是什么意思
      

  7.   

    ExecuteNonQuery
      对于 UPDATE、INSERT 和 DELETE   SQL 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1
      
      

  8.   

    http://www.cnblogs.com/sardine254/articles/362001.html
      

  9.   

    ExecuteNonQuery()对Connection执行命令并返回受影响的行数是什么意思
    int类型