有人知道发生了什么吗?如果它确实删除了所有记录,但仍返回异常
OleDbConnection dbConn = new OleDbConnection(@"Provider=vfpoledb;Data Source=C:\foxpro");
try
{
dbConn.Open();
using (OleDbCommand command = dbConn.CreateCommand())
{
command.CommandText = "execscript[('USE table in 0' + chr(13) + chr(10) + 'DELETE ALL')]";
command.ExecuteNonQuery();
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
finally
{
dbConn.Close();
}例外情况是:
System.Data.OleDb.OleDbException (0x80004005): Function is not implemented. at
System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) at
System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at
System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at
System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at backbuttonclicked.Page_Load(Object sender,
EventArgs e) in e:\MyProjects\programs\FujiDocumentsPrinting\backbuttonclicked.aspx.cs:line 31发布于 2013-04-30 02:00:28
您可以尝试以下操作:
command.CommandText = "DELETE FROM tablename1";
command.ExecuteNonQuery(); 这也将从文件中删除所有记录。文件“tablename1.dbf”应放在“C:\foxpro\”文件夹中。否则,请在SQL命令文本中使用完整文件名。
发布于 2013-04-30 03:11:06
我已经用下面的代码成功地完成了这类工作:
string connectionString = @"Provider=VFPOLEDB.1;Data Source=c:\foxpro";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand scriptCommand = connection.CreateCommand())
{
connection.Open();
string vfpScript = @"SET EXCLUSIVE ON
USE table
DELETE ALL
PACK";
scriptCommand.CommandType = CommandType.StoredProcedure;
scriptCommand.CommandText = "ExecScript";
scriptCommand.Parameters.Add("myScript", OleDbType.Char).Value = vfpScript;
scriptCommand.ExecuteNonQuery();
}
} DELETE ALL会将记录标记为已删除,但不会将其从表中删除。如果这是您想要的,那么删除PACK命令,该命令将从dbf中删除所有标记为已删除的记录。
发布于 2013-06-24 13:06:57
你的触发器中有一个try catch,这是一个没有实现的特性。今天也遇到了同样的问题。
https://stackoverflow.com/questions/16284227
复制相似问题