【发布时间】:2012-12-06 17:54:29
【问题描述】:
我正在运行 ISS 服务器,我有一个访问文件位于 C:\WCF\Access\ 我正在使用这个查询来插入一些东西:
@"INSERT INTO Arbejdsindsats (MedarYdelID, StartTid, SlutTid) VALUES ('" + medarYdelID + "', '" + startTid + "', '" + slutTid + "')";
完整代码为:
public String GemArbejdsIndsats(String medarYdelID, String startTid, String slutTid)
{
try{
con.Open();
String command = @"INSERT INTO Arbejdsindsats (MedarYdelID, StartTid, SlutTid) VALUES ('" + medarYdelID + "', '" + startTid + "', '" + slutTid + "')";
cmd.CommandText = command;
cmd.ExecuteNonQuery();
con.Close();
return "success: medarydelid: " + medarYdelID + " startTid: " + startTid + " slutTid: " + slutTid;
} catch(Exception e)
{
String k = e.Message;
return k;
}
}
问题是这个错误:
操作必须使用可更新的查询
当我在自己的机器上进行本地测试时,它工作正常。只是不在 IIS 中。
奇怪的是有一个laccdb 文件。它不会消失。也许数据库被锁定了,所以我不能更新它?
权限应该没问题:
【问题讨论】:
-
插入完成后是否关闭连接?
-
是的,我愿意。该代码在本地工作。
-
你能出示你的代码吗?
-
IUSR账户对accdb和laccdb文件以及它们所在的文件夹有什么权限? -
这听起来很愚蠢,但是您是否在系统上的 MS Access 中当前打开了此表或数据库。看起来不是锁定文件的程序,可能是其他人打开文件造成的。
标签: c# visual-studio-2010 ms-access oledb