誰かが自分のコードを見て、何が間違っているのか教えてください。私は値を更新しようとしていますが、私のメソッドがクエリを解析中であってもAccessデータベースは更新されません。UPDATEクエリがアクセスデータベース内のレコードを更新していません
protected void Page_Load(object sender, EventArgs e)
{
if ((string)Session["sFlag"] != "LI")
{
Response.Redirect("Default.aspx");
}
else
{
strUserId = (string)Session["sUserId"];
txtUserId.Text = strUserId;
txtName.Text = (string)Session["sName"];
txtAddress.Text = (string)Session["sAddress"];
txtEmail.Text = (string)Session["sEmail"];
txtTel.Text = (string)Session["sContactNo"];
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
strUserId = (string)Session["sUserId"];
if (txtName.Text != "")
{
String strFName = "cFullName";
String strFValue = txtName.Text;
UpdateCustomer(strFName, strFValue);
Session["sName"] = txtName.Text;
}
if (UFlag == "T")
{
Type strType = this.GetType();
ClientScript.RegisterStartupScript(strType, "Success", scriptSuccessUpdate);
}
}
public void UpdateCustomer(string strFName, string strFValue)
{
OleDbConnection mDB = new OleDbConnection();
mDB.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data source="
+ Server.MapPath("~/App_Data/WMA_Proj.accdb");
mDB.Open();
OleDbCommand cmd;
String strSQL = "UPDATE Customers SET " + strFName +
" = @newValue WHERE cUserId = @userId";
cmd = new OleDbCommand(strSQL, mDB);
cmd.Parameters.Add("@newValue", OleDbType.Char).Value = strFValue;
cmd.Parameters.Add("@userId", OleDbType.Char).Value = strUserId;
cmd.ExecuteNonQuery();
UFlag = "T";
mDB.Close();
}
}
これは、同様に私のAccessデータベーステーブル(画像)です。
を試してみてください?その方法も表示してください。 –
@ZoranHorvatはい、UpdateCustomerメソッドはデータベースを更新しません。コードはコードテーブルの一番下にあります。 これは表示できない場合のスクリーンショットです:http://puu.sh/sLBoh/4ccb2b659d.png –
はい、申し訳ありませんが、私はスクロールしませんでした... –