DBase и SELECT Max

VShurup
Дата: 08.02.2006 15:37:01
Подключаюсь к базе DBase в ADO.Net
ConnectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=V:\Work\DATA\SCF;Extended Properties=dBASE IV;User ID=Admin;Password=";

Пытаюсь найти max. индекс в таблице


DBaseOleDb cnnDBaseOleDb = new DBaseOleDb();

System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();

cmd.Connection = cnnDBaseOleDb.GetInfoConnection();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT Max(NGR) FROM tt";

cmd.Connection.Open();
double dNGR = (double) cmdInsert.ExecuteScalar();
int iNGR = ( int ) dNGR;


Время выполнения этого простенького запроса чути ли не десять минут. Что не так. Помогите, пожалуйста
saint
Дата: 08.02.2006 16:25:00
размер файла большой?
saint
Дата: 08.02.2006 16:25:36
и что есть DBaseOleDb?
VShurup
Дата: 08.02.2006 16:36:28
DBaseOleDb - это OleDbConnection c ConnectionString
ConnectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=V:\Work\DATA\SCF;Extended Properties=dBASE IV;User ID=Admin;Password="; (см. выше), а рвзмер файла - около 6000 строк, в Access через связанную таблицу этот же запрос выполняется мгновенно
saint
Дата: 08.02.2006 16:59:29

string con_string = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=V:\Work\DATA\SCF;Extended Properties=dBASE IV;User ID=Admin;Password=";

OleDbConnection con = new OleDbConnection(con_string);
OleDbCommand cmd = new OleDbCommand(
            "SELECT Max(NGR) FROM tt", con);
cmd.CommandType = CommandType.Text;

con.Open();

double dNGR = (double) cmd.ExecuteScalar();
int iNGR = ( int ) dNGR;

con.Close();

?
VShurup
Дата: 08.02.2006 17:54:04
Да, именно так и написано. Но почему же так медленно работает?