gpt4 book ai didi

c# - 如何使用 Odbc 在 .DBF 文件上使用事务?

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:38 24 4
gpt4 key购买 nike

我在使用 .dbf 文件时遇到问题。我可以进行 CRUD 操作,但是当我尝试使用事务时出现异常。我这样做:

    public void AddRolesToUser(string user, string[] roles)
{
using (OdbcConnection connection = new OdbcConnection(ConnectionString))
{
OdbcCommand command = new OdbcCommand();
OdbcTransaction transaction = null;
command.Connection = connection;
try
{
connection.Open();
transaction = connection.BeginTransaction();
command.Connection = connection;
command.Transaction = transaction;
command.CommandText = "Delete From Roles Where User='" + user + "'";
command.ExecuteNonQuery();
if (roles != null)
{
foreach (string role in roles)
{
command.CommandText = "Insert Into Roles(User, Role) Values('" + user + "', '" + role + "')";
command.ExecuteNonQuery();
}
}
transaction.Commit();
}
catch(OdbcException ex)
{
transaction.Rollback();
}
}
}

当它命中 connection.BeginTransaction() 时我得到这个异常

[Microsoft][ODBC dBase Driver]Optional feature not implemented

这是我的连接字符串

 "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;" + "Dbq=" + root + ";"

我再说一遍,我可以让 CRUD 操作正常。

最佳答案

DBF 文件是一个简单的数据存储 - 它们只是具有关联索引文件的随机访问文件。没有进程或控制文件来控制允许事务所需的锁定和回滚。

如果您需要交易,您将不得不更改您的文件存储。

关于c# - 如何使用 Odbc 在 .DBF 文件上使用事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com