我的系统 winxp,安装了odbc.net数据提供程序。在windows/system32目录下,也存在vfpodbc.dll文件我的程序如下 System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();
string table = textBox1.Text;
string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
conn.ConnectionString = connStr;
try
{
conn.Open();
if (conn.State == ConnectionState.Open)
{
richTextBox1.Text =richTextBox1.Text+"\n"+"连接成功!";
}
}
catch (Exception ee)
{
richTextBox1.Text = ee.Message; }
OdbcCommand cmd = new OdbcCommand("select * from "+table,conn);
OdbcDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
richTextBox1.Text=richTextBox1.Text+"\n"+"存在记录";
}
else
{
richTextBox1.Text = richTextBox1.Text + "\n" + "不存在记录"; }程序代码应该没有问题。而且已经可以正常连接了。if (conn.State == ConnectionState.Open)已经通过了。
但是到OdbcDataReader dr = cmd.ExecuteReader();
的时候,提示ERROR [42000] [Microsoft][ODBC Visual FoxPro Driver]Command contains unrecognized phrase/keyword.
我后来又尝试用oledb的方式连接,结果也是可以正常连接,但是执行查询就报Command contains unrecognized phrase/keyword.希望高手给帮忙看看什么问题
string table = textBox1.Text;
string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table + ";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";
conn.ConnectionString = connStr;
try
{
conn.Open();
if (conn.State == ConnectionState.Open)
{
richTextBox1.Text =richTextBox1.Text+"\n"+"连接成功!";
}
}
catch (Exception ee)
{
richTextBox1.Text = ee.Message; }
OdbcCommand cmd = new OdbcCommand("select * from "+table,conn);
OdbcDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
richTextBox1.Text=richTextBox1.Text+"\n"+"存在记录";
}
else
{
richTextBox1.Text = richTextBox1.Text + "\n" + "不存在记录"; }程序代码应该没有问题。而且已经可以正常连接了。if (conn.State == ConnectionState.Open)已经通过了。
但是到OdbcDataReader dr = cmd.ExecuteReader();
的时候,提示ERROR [42000] [Microsoft][ODBC Visual FoxPro Driver]Command contains unrecognized phrase/keyword.
我后来又尝试用oledb的方式连接,结果也是可以正常连接,但是执行查询就报Command contains unrecognized phrase/keyword.希望高手给帮忙看看什么问题
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货