您有几个选项可用于构建对 FoxPro 的数据访问。您可以将 ADO.NET 数据访问代码放在代码隐藏中,在它自己的 c# 库中,或使用 objectdatasource 进行 2 路绑定。
private void LoadData(string parameter)
{
string sql = "SELECT a.myfield FROM mytable.customExt a WHERE a.whereField=?";
using(OleDbConnection conn = new OleDbConnection(myConnectionString))
{
using (OleDbCommand command = new OleDbCommand(sql, conn))
{
command.Parameters.AddWithValue("@Parameter", parameter);
try
{
conn.Open();
using(OleDbDataReader dr = command.ExecuteReader(CommandBehavior.CloseConnection))
{
myGridView.DataSource = dr;
myGridView.DataBind();
}
}
catch (Exception ex)
{
throw;
}
}
}
}
这是在 web.config 中使用的示例连接字符串:
<add name="myData" connectionString="Provider=VFPOLEDB.1;Data Source=C:\MyFiles\" providerName="System.Data.OleDb"/>
我相信您可以对 FoxPro 表和数据库使用自定义扩展。然后,您的所有 SQL 语句都需要显式使用该扩展。
SELECT t.MyField FROM MyTable.customExt t