提交按钮在本地正常工作,但在 Web 服务器上,它给了我一个错误
本文关键字:错误 一个 服务器 Web 常工作 工作 但在 提交 按钮 | 更新日期: 2023-09-27 18:31:04
所以当我在网页上单击我的按钮时,如果我在本地执行此操作,它可以正常工作。如果我在我的 GoDaddy 网络服务器上执行此操作,它会给我一个"操作必须是可更新的查询"错误,并指向 com。在我的代码中执行非查询。下面是错误的 C#:
protected void submitForMail(object sender, EventArgs e)
{
string constr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|'TravelJoansDB.mdb;";
string cmdstr = "INSERT INTO EmailList(FirstName,LastName,EmailAddress) VALUES (@FirstName, @LastName, @EmailAddress)";
OleDbConnection con = new OleDbConnection(constr);
OleDbCommand com = new OleDbCommand(cmdstr, con);
TextBox tFirstName = (TextBox)FormView1.FindControl("FirstName");
TextBox tLastName = (TextBox)FormView1.FindControl("LastName");
TextBox tEmail = (TextBox)FormView1.FindControl("EmailAddress");
con.Open();
com.Parameters.AddWithValue("@FirstName", tFirstName.Text);
com.Parameters.AddWithValue("@LastName", tLastName.Text);
com.Parameters.AddWithValue("@EmailAddress", tEmail.Text);
com.ExecuteNonQuery();
con.Close();
string EmailAdded = "Your E-mail address has been added.";
System.Console.Write(EmailAdded);
}
我不想更新表中的任何记录,我想将它们插入到表中。那么为什么它告诉我该操作需要是一个可更新的查询呢?
运行此程序的用户没有permissions
来访问数据库文件。
根据您的条件检查和修改权限。
您还可以考虑将数据库文件的位置更改为另一个更易于访问的文件夹。
还要检查文件是否位于program files
文件夹中,如果是这样,则会为用户创建权限问题。
权限设置方法:
要设置此权限,请右键单击App_Data
文件夹(或已将 mdb 文件放入的任何其他文件夹),然后选择属性。
寻找Security tab
.如果看不到它,则需要转到"我的电脑",然后单击"工具"并选择"文件夹选项"。
然后单击View tab
。滚动到底部并取消选中"使用简单文件共享(推荐)"。
返回到"安全"选项卡,您需要将相关account
添加到"组或用户名"框中。
单击"添加"。然后单击"Advanced
",然后单击"Find Now
"。
应列出相应的帐户。双击它以将其添加到"组或用户名"框中,然后选中权限中的"修改"选项。
这确实是一个权限错误,但我不知道我可以在 GoDaddy 的服务器上设置权限。我在这里找到了一个链接。这解决了我的问题。谢谢大家!