如何使用OLE DB提供程序列出Fox Pro中表的主键?使用OLE DB提供程序列出Fox Pro中的主键?
使用C#和交换我生成的x86,而不是64,我能够使用OLEDB提供福克斯Pro的显示关于表的一些信息:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;
using System.Data;
namespace obtainFoxSchema
{
class Program
{
static void Main(string[] args)
{
OleDbConnection connection = new OleDbConnection(
"Provider=VFPOLEDB.1;Data Source=X:\\FREETABLES\\DATA;"
);
connection.Open();
DataTable tables = connection.GetSchema(
System.Data.OleDb.OleDbMetaDataCollectionNames.Tables
);
foreach (System.Data.DataRow rowTables in tables.Rows)
{
Console.Out.WriteLine(rowTables["table_name"].ToString());
DataTable columns = connection.GetSchema(
System.Data.OleDb.OleDbMetaDataCollectionNames.Columns,
new String[] { null, null, rowTables["table_name"].ToString(), null }
);
foreach (System.Data.DataRow rowColumns in columns.Rows)
{
Console.Out.WriteLine(
rowTables["table_name"].ToString() + "." +
rowColumns["column_name"].ToString() + " = " +
rowColumns["data_type"].ToString()
);
}
}
Console.Out.WriteLine("stop");
}
}
}
但我真的不知道去哪里找在返回的对象中查找表之间的主键或外键。
任何想法,这种事情可能是什么?
是的,我在另一个问题中发现了这个代码,但我使用Excel 2007的Get External Data自己构建了连接字符串。
我没有FoxPro与...一起工作...但我有SQL Server ... – leeand00