自己做的一个程序,因为客户那里数据源不一定,可能是文本,access,SQLserver等等数据源,所以可以自己配置数据源,比如我获得数据连接字符串这样的:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\test\My Documents\db1.mdb;Persist Security Info=False
但是数据库里表名也是未知的,各个客户的不一样,表的字段也不知道,我如何在程序里为其提供一个类似.net开发环境中中那样连接数据源后可以显示该数据库中的表和字段,任意选择需要哪一个表和其中字段的那种界面呢?请大家帮帮我,谢谢了!有代码可以解决部分问题,可参看之前我结贴的一个帖子:http://community.csdn.net/Expert/topic/5698/5698373.xml?temp=.1021692
但是感觉灵活性不高,还是希望有控件可以解决,之前数据源配置就可以调用现有dll,比较方便,有两个方案,可参考
方案1:http://www.cnblogs.com/zzh/archive/2007/07/11/814239.html
方案2:http://www.cnblogs.com/zzh/archive/2007/07/11/814238.html

解决方案 »

  1.   

    可以用GetSchema,它是DbConnection的一个方法,返回一个框架集,这个不区分ACCESS和SQLserver,现在就是如何灵活定制了,因为里面显示了很多不需要的东西
    string connStr="数据库连接字串"; 
    OleDbConnection conn = new OleDbConnection(connStr);
                conn.Open();
                DataTable dt = conn.GetSchema("Tables");
      

  2.   

    现在谁能说说用GetSchema如何取得想要的内容,只要表名之类的,其它多于的信息不显示?
      

  3.   

    到华军软件里去找一个叫"文华好表"的程序(我编的),里面有一个叫Winfar_Database.Dll(该文件没有加密,没有时间限制,但最好不要用于商业程序)的文件,满足你的要求一点问题也没有.
      

  4.   

    dbspro(冷锋)有没有函数说明啊?函数太多了