我在这里使用.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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
当它遇到connection.BeginTransaction()我得到这个异常
[Microsoft][ODBC dBase Driver]Optional feature not implemented
Run Code Online (Sandbox Code Playgroud)
这是我的连接字符串
"Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;" + "Dbq=" + root + ";"
Run Code Online (Sandbox Code Playgroud)
我再说一遍,我可以让CRUD操作正常.