比如:MSSQL获取TABLE的写法        
         public List<string> GetTableList()
        {
            this.dbHelper.Open();
            IDataReader reader = this.dbHelper.ExecuteDataReader("select * from [sysobjects] where type='U'");
            List<string> list = new List<string>();
            while (reader.Read())
            {
                list.Add(Convert.ToString(reader[0]));
            }
            this.dbHelper.Close();
            if (this.GetTableListComplate != null)
            {
                this.GetTableListComplate(new object(), new EventArgs());
            }
            return list;
        }
dbHelper.ExecuteReader("select * from [sysobjects] where type='U'");
那么?
MYSQL是不是:IDataReader reader = this.dbHelper.ExecuteReader("");怎么样写法SQLite,Oracle写法又是怎么样子的,获取某个数据库所有表的列表public List<string> GetTableList()
获取的系统参数语句该怎么写法

解决方案 »

  1.   

    有个笨方法使用OLEDB  OleDbConnection _ExcelConn = new OleDbConnection("Provider=SQLOLEDB.1;Data Source=.;DataBase=ValueTest;User ID=sa;Password=zzdskj;");
                _ExcelConn.Open();
                DataTable _Table = _ExcelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                _ExcelConn.Close();
              
    只是连接字符串 和返回的TABLE数据不同而已..但需要安装OLDEB的 MYSQL驱动.
      

  2.   

    这是在SQL Server中获取所有表的方法,其实这个方法是在DbConnection类中定义的,在它的子类
    System.Data.Odbc.OdbcConnection 
    System.Data.OleDb.OleDbConnection 
    System.Data.OracleClient.OracleConnection 
    System.Data.SqlClient.SqlConnection 
    System.Data.SqlServerCe.SqlCeConnection
    都提供了实现,用DbConnection这类来弄吧。没有你那么麻烦,而且对常见的数据都支持。/// <summary>
        /// 返回当前连接的数据库中所有由用户创建的数据库
        /// </summary>
        /// <returns></returns>
        public DataTable GetTables()
        {
            DataTable data = null;
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();//打开数据库连接
                data=connection.GetSchema("Tables");
            }
            return data;
        }
      

  3.   

    可以用IBatisNet中的providers.config中反射的方式参考FortuneBase
    http://www.cnblogs.com/mail-ricklee
      

  4.   

    IBatis和NHibernate提供了各种数据库的Provider,但是必须保证这种Provider连同你安装的数据库一并安装到数据库服务器上,例如Oracle就有.Net Data Provider。如果你觉得这些框架比较麻烦,那就需要了解各种数据库支持的SQL,例如PL SQL等。同时,看看各种数据库支持的Provider是什么,这就要求比较细了。如果不清楚,可以看看IBatis框架的provider.config文件,这里面有比较清楚的描述。
      

  5.   

    http://www.cnblogs.com/freeliver54/archive/2009/03/10/1407722.html
    http://www.cnblogs.com/sig556/archive/2008/02/03/1063153.html
    http://www.cnblogs.com/madengwei/articles/1233534.html
      

  6.   

    http://blog.csdn.net/llwinnner/archive/2009/03/19/4005508.aspx
      

  7.   

    MYSQL是不是:IDataReader reader = this.dbHelper.ExecuteReader("");怎么样写法
    除了SQL语句不同以外,其他执行方法都差不多
    SQLconnection是只针对MSSQL的OLEDBconnection是针对ORACLE 的
    bHelper.ExecuteReader中包含SQLconnection就不支持mysql,要改为oledb使用MySQL数据接口  安装好MySQL的数据接口后,你必须在你的代码中引入它才能使用。你可以使用 MySql.Data.MySqlClient这个名空间来连接 MySQL 服务器。在C#中,可以使用using语句来引入MySQL数据接口:
      using MySql.Data.MySqlClient;  另外,你也可以在一个ASP.NET的网页表单(Web Form)中通过使用导入(Import)指令来引入MySQL数据接口:
      <%@ Import Namespace "MySql.Data.MySqlClient" %>
      或者,你也可以在你的代码里在使用这个名空间时,写全一个类的完整路径,但是这样的话会比使用Import指令来导入输入更多的字符,浪费更多的字节。指定了名空间后,我们就可以和MySQL数据库进行数据交互了。MySql.Data.MySqlClient这个名空间提供了许多用于处理MySQL数据的类。下面是这些类的一个样本:  * MySqlConnection: 管理和 MySQL 服务器/数据库的连接;
      * MySqlDataAdapter: 一套用于填充DataSet对象和更新MySQL数据库的命令和连接的集合;
      * MySqlDataReader: 让你能够从一个 MySQL 数据库读取数据。它是一个单向的数据流;
      * MySqlCommand: 提供向数据库服务器发送指令的功能;
      * MySqlException: 当发生问题时提供例外处理。
      

  8.   

    OleDbConnection适合于连接任何类型的数据库(如Oracle,SQL Server,ACCESS等等),而SqlConnection是专门用来连接SQL Server(MS SQL)数据库的,据说效率比OleDbConnection高。    如果你的数据库是MS SQL 那么你就双击SqlConnection吧,其他数据库就用OleDbConnection吧。同样的道理SqlDataAdapter,SqlCommand是专门用于(MS SQL)数据库的,而OleDbDataAdapter, OleDbCommand适用于所有的数据库,如果你双击的是SqlConnection   那么在今后的数据库操作中你只能用SqlDataAdapter,SqlCommand,同样的道理如果你双击的是OleDbConnection,那么在今后的数据库操作中你只能用OleDbDataAdapter, OleDbCommand。