连接如下:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\;Extended Properties=dBase IV;User Id=admin;Password=;"sql = "select * from [data.dbf]";读取 data.dbf 数据库时出错.
在用 oledb 连接 dbf 数据库时报错:microsoft jet 数据库引擎找不到对象"[data.dbf]"在线等答案,谢!那位兄弟有示例的话发一份给我最为感谢![email protected]
解决方案 »
- 请问如果添加到TabItem的控件很多,如何让tabItem上出现滚动条呢?
- 有人知道网页的字体大小和系统的字体大小的转换吗?
- TreeView节点FullPath的一个奇怪问题
- 多态与重载的区别
- 关于中括号的问题
- 求正则表达式..我发了几天的帖子都没有满意的答案。好像很难度哦,哪位高手哥哥 帮帮忙哦。小妹先谢过了。啵~~~~~
- 怎样在datagrid其中的一列中,如果库中这个字段是0或1或2或3或4,则在这一列中写销售或返点或结账或退款
- 在C#的winfrom中怎么取本机的日期+时间
- 关于报考微软的MCAD的问题~请有经验的朋友指点一下!
- 高手求救,DataGrid的赋值的问题?
- 郁闷,初学者请教
- C#随即获取数组里的参数
OleDbConnection con = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=e:\dbf(包含dbf表的文件夹);Collating Sequence=MACHINE");
首先看有没有在你D盘的下面。
然后,把data.dbf不要后缀名,就直接dbf的名字,。如aaa.dbf用sql = "select * from [aaa]";
你的这个是不是要下一个什么驱动?
OleDb 是系统自带的 如果用odbc需要安装.
Data Source=d:\\database;Extended Properties=dBASE IV;";
to: dragonforfly除了少了 User Id=admin;Password=; 这一部分, 和我的一样, 难道是这个问题?"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\;Extended Properties=dBase IV;User Id=admin;Password=;"
有使用过的朋友发一个示例, 非常感谢, [email protected]
// 控制面板 --> 管理工具 --> 数据源(ODBC) --> 驱动程序 --> Microsoft Visual FoxPro Driver
// 2.确认dbf数据库中有数据,并且数据路径正确无误
// Winform下的示例
private void button1_Click(object sender, EventArgs e)
{
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
string table = @"C:\TDATA.dbf";
string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
conn.ConnectionString = connStr;
conn.Open();
string sql = "select * from " + table;
OdbcDataAdapter da = new OdbcDataAdapter(sql, conn);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
conn.Close();
}
// 控制面板 --> 管理工具 --> 数据源(ODBC) --> 驱动程序 --> Microsoft Visual FoxPro Driver
// 2.确认dbf数据库中有数据,并且数据路径正确无误
// Winform下的示例
private void button1_Click(object sender, EventArgs e)
{
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
string table = @"C:\TDATA.dbf";
string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
conn.ConnectionString = connStr;
conn.Open();
string sql = "select * from " + table;
OdbcDataAdapter da = new OdbcDataAdapter(sql, conn);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
conn.Close();
}
我也有同样问题, 有用 oledb 连接成功的吗?
就是不管用odbc还是oledb连接,创建文件时如果文件名超过8位就系统就自动截取
只保留前面8位。不知道有没有人能解决这个问题
to : jsnjlhb这个应该是 dbf 数据库本身的问题, 因为 dbf 将文件名作为表名。
to lucky_2005问题是网上很多文章有介绍 这种连接方法啊!
string filepath = @"T:\STAR\SHOP";
string connectionstring = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + filepath + ";Exclusive=YES;NULL=NO;Collate=Machine;BACKGROUNDFETCH=YES;DELETED=NO;";
OdbcConnection connection = new OdbcConnection(connectionstring);
connection.Open();
string sql = @"select * from LANGUAGE.TWT";
OdbcDataAdapter mydata = new OdbcDataAdapter(sql, connection);
DataSet myds = new DataSet();
mydata.Fill(myds);
int i = myds.Tables[0].Rows.Count;
dataGridView1.DataSource = myds.Tables[0].DefaultView;
1、在Data Source=D:\\;这个位置的参数要是dbf文件所在的文件夹才可以。不能是指向具体的dbf文件。
2、我在执行select语句时没有使用[]这个分隔符。语句如下。
string SQL = "select * from a_xy.dbf";