代码如下:(跑得通,就是DBF文件中的数据行仍旧删不掉)DataTable lLOGINTable = new DataTable();
string lConnStr = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + lDdir + ";Exclusive=No;";
OdbcConnection lConn = new OdbcConnection(lConnStr);
lConn.Open();string lSelectText = string.Format("SELECT * FROM {0}", lFfile);using (OdbcDataAdapter da = new OdbcDataAdapter(lSelectText, lConn))
{
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
da.Fill(lLOGINTable); lSelectText = string.Format("DELETE FROM {0} WHERE CODE = ?", lFfile); da.DeleteCommand = new OdbcCommand(lSelectText);
da.DeleteCommand.Parameters.Add("@CODE", OdbcType.Char, 8, "CODE").SourceVersion = DataRowVersion.Original;
da.DeleteCommand.Parameters["@CODE"].Value=lLOGINTable.Rows[0][0];
da.DeleteCommand.Connection = new OdbcConnection(lConnStr); lLOGINTable.Rows.RemoveAt(0);
da.Update(lLOGINTable);
}
string lConnStr = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + lDdir + ";Exclusive=No;";
OdbcConnection lConn = new OdbcConnection(lConnStr);
lConn.Open();string lSelectText = string.Format("SELECT * FROM {0}", lFfile);using (OdbcDataAdapter da = new OdbcDataAdapter(lSelectText, lConn))
{
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
da.Fill(lLOGINTable); lSelectText = string.Format("DELETE FROM {0} WHERE CODE = ?", lFfile); da.DeleteCommand = new OdbcCommand(lSelectText);
da.DeleteCommand.Parameters.Add("@CODE", OdbcType.Char, 8, "CODE").SourceVersion = DataRowVersion.Original;
da.DeleteCommand.Parameters["@CODE"].Value=lLOGINTable.Rows[0][0];
da.DeleteCommand.Connection = new OdbcConnection(lConnStr); lLOGINTable.Rows.RemoveAt(0);
da.Update(lLOGINTable);
}
OdbcCommand command = new OdbcCommand(queryString);
command.Connection = lConn;
lConn.Open();
command.ExecuteNonQuery();
lConn.Close();