说实话,鬼才愿意搞这个东西,那么古老的东西,可是。。。哎。。不说了。。讲解下怎么连吧。。
首先需要注意SYSTEM下面的vfpodbc.dll这个的东西,我当时这个文件只有20K,害我怎么测试也行,调试后才发现原来是驱动无法找到,后来在其他运行Visual FoxPro的电脑上搜索到vfpodbc.dll,有几百K,然后复制到自己电脑上。。
下面是代码:
Code
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.Odbc;
namespace StockToZhiWei
{
class SendData
{
//这里演示的远程连接其他电脑上的DBF文件,我想本机就不需要说更多的了
//SourceDB=。。。这里就是路径名了,记住是文件夹的路径,不是DBF文件的路径,我开始傻就傻这上面了
string strOdbcConn =@"PWD=;SourceType=DBF;UID=;Collate=Machine;Deleted=Yes;BackgroundFetch=Yes;Exclusive=No;
Driver=Microsoft Visual FoxPro Driver;Null=Yes;SourceDB=\\nt6\f$\JSZhiWei\data;";
public void InsertData()
{
OdbcConnection odbcConn = new OdbcConnection(strOdbcConn);
//string sqlInsert = "Insert Into table1(DateFrom, Num) Values({^2005-09-10},10)";
//OdbcCommand odbcComm = new OdbcCommand(sqlInsert, odbcConn);
//odbcComm.Connection.Open();
//odbcComm.ExecuteNonQuery();
//odbcConn.Close();
OdbcDataAdapter OdbcAda = new OdbcDataAdapter();
OdbcAda.SelectCommand = new OdbcCommand();
OdbcAda.SelectCommand.Connection = odbcConn;
OdbcAda.SelectCommand.CommandType = CommandType.Text;
OdbcAda.SelectCommand.CommandText = "select * from A111";
DataSet ds = new DataSet();
OdbcAda.Fill(ds, "A111");
//看看有没有数据
int num = ds.Tables["A111"].Rows.Count;
}
}
}
OK~!其实掌握就很简单,简直太简单了。。然后我还要研究下ODBC的UPDATE是不是和SQL的一样使用,谁愿意对桌那一堆的数据去循环处理。。哈哈
还有,原来在C#中对DBF操作,直接用SQL语句就可以了。。至少添加删除修改没问题