如何使用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