Reputation: 809
I am importing data from dbase into sql and am using the following connection string to read data:
"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=D:\GS\Source;"
+ "Extended Properties=dbase 5.0;User ID=Admin;Password=;"
The data is read successfully but i find that it includes DELETED rows too. as per dbase, there will be an asterisk as the first character, however we find that neither the file is excluded nor is the asterisk coming as a column.
So how do we load data without this deleted records?
Upvotes: 0
Views: 1868
Reputation: 41
In dBase after delete command 'pack all' has to be given so that the deleted records are removed permanently.
If you have access to dBase use the concerned file and then give pack all command
Upvotes: 1
Reputation: 48169
Actually, deleted records are internally marked with a flag and not an "*" that you can query from. However, VFP does have a function to test this deleted flag, but only really applicable if running from a single table and not multiple/joins as it won't know which table you are wondering out... Ex:
select * from YourTable where not deleted()
That being said, VFP has some other "environment" setting commands that MAY work via the OleDB, but I've never actually tried THIS.
Once you have your connection, and it's open, run the following ExecNonQuery might help...
OleDbCommand oCmdTest = new OleDbCommand( "SET DELETED OFF", YourConnection ); OCmdTest.ExecuteNonQuery();
oCmdTest = new OleDbCommand( "Select * from YourTable", YourConnection );
execute it into a data table result set as you are, and you should be good.
One other part. I would not be using the Jet OleDB, but actually using the Microsoft VFP OleDb driver
Upvotes: 2