Search code examples
c#oledbvisual-foxpro

Oledb and visual foxpro


How can I set indexes for field while creating table for visual fox pro(.dbf) in c#(using oledb). I want to create multiple indexes for a table and some of the indexes are expression like (field1+field2).


Solution

  • Here is an example:

    using(var connection = new OleDbConnection(@"provider=vfpoledb;data source=c:\")) {
        using(var command = connection.CreateCommand()) {
            connection.Open();
            command.CommandText = "CREATE TABLE Table1(Column1 v(10), Column2 v(10))";
            command.ExecuteNonQuery();
            command.CommandText = "EXECSCRIPT([USE Table1 IN SELECT(0) EXCLUSIVE])";        
            command.ExecuteNonQuery();
            command.CommandText = "EXECSCRIPT([INDEX ON Column1 TAG Tag1])";
            command.ExecuteNonQuery();
            command.CommandText = "EXECSCRIPT([INDEX ON Column1 + Column2 TAG Tag2])";
            command.ExecuteNonQuery();          
            connection.Close();
        }
    }