FoxProへのデータアクセスを構造化するためのいくつかのオプションがあります。ADO.NETデータアクセスコードをコードビハインド、独自のc#ライブラリに配置するか、objectdatasourceを使用して双方向バインディングを行うことができます。
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