大家好! 我现在想用C#打开VFP和Paradox两种数据库. 首先我先查找了这两种格式数据库的连接字段, 但看得不怎么懂. 可能是因为我本身对这两种数据库不怎么熟悉的缘故 (平时没用过), 我看怎么这两种数据库看起来还不是单独的文件而是文件夹?? 所以想求一个完整的连接的方法, 使用Oledb, 从连接一直到填入Dataset (如果可以填入Dataset的话), 谢谢!这是我连接Paradox的连接方法, 大家看行么??string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source="
                    + Paradox数据库文件夹+ ";Extended Properties='paradox 5.x'";OleDbConnection objConn = new OleDbConnection(strConn);objConn.Open();另外, 我现在打开Txt格式也需要尽量用Oledb这样的方法, 于是我也弄了这么一段儿 (网上找的):string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source="
                    + openTxtFileDialog.FileName + ";Extended Properties='text; HDR=YES;FMT=Delimited'";OleDbConnection objConn = new OleDbConnection(strConn);objConn.Open();
测试了一下, 居然不行... 大家看看, 这是怎么回事儿呢? 谢谢!

解决方案 »

  1.   

    Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\txtFilesFolder\;Extended Properties="text;HDR=Yes;FMT=Delimited";The schema information file tells the driver about the format of the text files.
    The file is always located in the same folder as the text files and must be named schema.ini.[customers.txt]
    Format=TabDelimited
    ColNameHeader=True
    MaxScanRows=0
    CharacterSet=ANSI[orders.txt]
    Format=Delimited(;)
    ColNameHeader=True
    MaxScanRows=0
    CharacterSet=ANSI[invoices.txt]
    Format=FixedLength
    ColNameHeader=False
    Col1=FieldName1 Integer Width 15
    Col2=FieldName2 Date Width 15
    Col3=FieldName3 Char Width 40
    Col4=FieldName4 Float Width 20
    CharacterSet=ANSI
      

  2.   

    VFPfor .DBC
    Provider=vfpoledb.1;Data Source=C:\MyDbFolder\MyDbContainer.dbc;Collating Sequence=machine;for Free table directory
    Provider=vfpoledb.1;Data Source=C:\MyDataDirectory\;Collating Sequence=general;
      

  3.   

    ParadoxProvider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\myDb;Extended Properties=Paradox 5.x;这个只要指定目录,无需选择文件名
      

  4.   

    读取txt
    例如TextFile.txt内容如下:
    id   name   
    1     01   
    2     xing   string   cnstring   =   "Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   +   Server.MapPath(".")   +   ";Extended   Properties=\"text;HDR=Yes;FMT=Delimited;\";"; 另外,在当前目录下加schema.ini文件,内容如下:   
        
      [TextFile.txt]   
      ColNameHeader=True   
      Format=TabDelimited   
      Col1=id   Char   
      Col2=name   Char   
        
    注意:TextFile.txt与字段名字与你的txt文件要对应。毕竟,直接读取还是有些限制的,
      

  5.   

    经典问题的经典答案http://www.connectionstrings.com/
      

  6.   

    嗯... 不好意思还得问一下啊; 就是说现在连接字段其实我都找到了, 楼上那位同志给我网站我也去过. 但现在的问题就是连接字段之后应该是什么? 比如说我连接Excel表格时是这么写的:string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source="
                        + openExcelFileDialog.FileName + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";OleDbConnection objConn = new OleDbConnection(strConn);objConn.Open();OleDbDataAdapter sqlada = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", objConn);那么, 其他格式的数据库是不是也可以这么写呢? 我是说; 是不是都可以按照 "创建连接字符串" --> "建立连接" --> "打开连接" --> "建立Adapter" 这样? 因为有关Paradox和VFP的相关东西实在太少; 谢谢各位了!
      

  7.   

    差不多这个思路进行的还有一种
    "创建连接字符串" --> "建立连接" --> "打开连接" --> "执行Command"--> "DataReader"