当我输入标题时,我检查了其他问题,我无法理解。我需要冷静下来:)
我在1.5周前启动了asp.net一切都在本地运行正常,我将我的站点文件上传到ftp服务器,我收到此错误:
操作必须使用可更新的查询 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息 异常详细信息:System.Data.OleDb.OleDbException:操作必须使用可更新的查询 来源错误: // *Goruntulenmesumısınıgüncelleme//翻译更新视图数*
// This was the old code after checking other same titled questions i changed to this one and still no luck
//sorgu.Append(" UPDATE sorular SET [goruntulenme] = [goruntulenme] + 1 ");
//sorgu.Append(" WHERE soruid = @soruid ");
//komut = new OleDbCommand(sorgu.ToString(), baglanti);
//komut.Parameters.Add("@soruid", OleDbType.VarChar).Value = sorgusoruid.ToString();
//komut.ExecuteNonQuery();
string SqlString = "UPDATE sorular SET [goruntulenme] = [goruntulenme] + 1 WHERE soruid = ?";
using (OleDbCommand cmd = new OleDbCommand(SqlString, baglanti))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("soruid", sorgusoruid.ToString());
cmd.ExecuteNonQuery();
}
}
错误指向cmd.ExecuteNonQuery();线。我检查的东西:
*表有一个主键
*代码适用于本地,就像我需要它一样
*这是我项目的论坛部分,最简单的方法是我有3个表“用户”“问题”和“答案”
*我可以登录并注销服务器。它工作正常,但无法更新。我想我怀疑权限,因为这个登录代码工作(如果你想我可以翻译代码的可变部分)。
OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("App_Data\\db.accdb"));
baglan.Open();
string k_ad = Kullanici.Text;
string k_sifre = sifre.Text;
OleDbCommand kontrol = new OleDbCommand("SELECT * FROM Kullanicilar WHERE K_Ad='" + k_ad + "' and K_Sfr='" + k_sifre + "'", baglan);
OleDbDataReader oku = kontrol.ExecuteReader();
if (oku.Read())
{
Session.Add("Kullanici", k_ad);
Response.Redirect("Forum.aspx");
lbl.Visible = false;
}
else
{
lbl.Text = "Kullanıcı adı veya şifre yanlış";
lbl.Visible = true;
}
baglan.Close();
baglan.Dispose();
}
我不知道我能在这里给出什么信息。请告诉我你是否需要更多信息以及如何找到这些信息:)) 哦,我正在使用ms-access数据库,使用sql数据库服务器对我来说似乎更复杂。
答案 0 :(得分:0)
问题解决了,我更改了我的托管服务提供商网站上的数据库文件夹权限我登录了一个具有相同id pw的面板与我在filezilla使用的面板有文件夹的设置并且它们是只读的我更改了它们完全访问权限减去删除和更改所有权