そのため、Web ページでボタンをクリックすると、ローカルで実行すると正常に動作します。GoDaddy Web サーバーで実行すると、「操作は更新可能なクエリである必要があります」というエラーが表示され、コード内の com.ExecuteNonQuery がポイントされます。エラーの 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);
}
テーブル内のレコードを更新したくありません。それらをテーブルに挿入したいのです。では、操作が更新可能なクエリである必要があると教えてくれるのはなぜでしょうか?