C# ASP.Net网站中的更新语句问题
我正在尝试为分配创建更新语句,用户可以在其中更改其帐户信息。无论何时尝试,我都会收到一个错误,声明为“update statement中的语法错误”。我正在修改代码,以便从另一个赋值生成此语句,代码确实在该赋值中起作用,因此我确信我一定遗漏了一些小细节。下面是启动创建update语句的方法以及方法本身的按钮单击的代码 按钮点击:C# ASP.Net网站中的更新语句问题,c#,sql,asp.net,C#,Sql,Asp.net,我正在尝试为分配创建更新语句,用户可以在其中更改其帐户信息。无论何时尝试,我都会收到一个错误,声明为“update statement中的语法错误”。我正在修改代码,以便从另一个赋值生成此语句,代码确实在该赋值中起作用,因此我确信我一定遗漏了一些小细节。下面是启动创建update语句的方法以及方法本身的按钮单击的代码 按钮点击: protected void btnConfirm_Click(object sender, EventArgs e) { bool user
protected void btnConfirm_Click(object sender, EventArgs e)
{
bool userUpdateError = false;
string tempPath = Server.MapPath("~/App_Data/Programmaholics.mdb");
clsDataLayer myDataLayer = new clsDataLayer(tempPath);
try
{
myDataLayer.UpdateUser(lblUsername.Text, lblCity.Text, lblState.Text, lblFavorite.Text, lblLeastFavorite.Text, lblDate.Text, Convert.ToInt32(UserID.Text));
}
catch (Exception error)
{
userUpdateError = true;
string message = "Error updating user, please check form data. ";
Master.UserFeedBack.Text = message + error.Message;
}
if (!userUpdateError)
{
Master.UserFeedBack.Text = "Customer Updated Successfully.";
}
}
更新方法:
public void UpdateUser(string userName, string city, string state, string favorite, string leastFavorite, string date, int userID)
{
dbConnection.Open();
string sqlStmt = "UPDATE tblUser SET Username = @user, " +
"City = @city, " +
"State = @state, " +
"Favorite = @favorite, " +
"LeastFavorite @least, " +
"DateLast = @date " +
"WHERE (tblUser.UserID = @id)";
OleDbCommand dbCommand = new OleDbCommand(sqlStmt, dbConnection);
OleDbParameter param = new OleDbParameter("@user", userName);
dbCommand.Parameters.Add(param);
dbCommand.Parameters.Add(new OleDbParameter("@city", city));
dbCommand.Parameters.Add(new OleDbParameter("@state", state));
dbCommand.Parameters.Add(new OleDbParameter("@favorite", favorite));
dbCommand.Parameters.Add(new OleDbParameter("@least", leastFavorite));
dbCommand.Parameters.Add(new OleDbParameter("@date", date));
dbCommand.Parameters.Add(new OleDbParameter("@id", userID));
dbCommand.ExecuteNonQuery();
dbConnection.Close();
}
将“WHERE(tblUser.UserID=@id)”更改为“WHERE UserID=@id”,因为您正在尝试更新同一个表,所以没有必要这样做
string sqlStmt = "UPDATE tblUser SET Username = @user, " +
"City = @city, " +
"State = @state, " +
"Favorite = @favorite, " +
"LeastFavorite @least, " +
"DateLast = @date " +
"WHERE UserID = @id";
答案是:
=
在“LeastFavorite@least,”+,
中缺失,应该是“LeastFavorite=@least,”++
在“LeastFavorite@least,”+
中缺失=
,应该是“LeastFavorite=@least,”+
我知道它会是这样的小东西。谢谢你,先生。