试图在我的代码更新用户信息时,遇到了这个错误...试图发现语法错误
ErrorSystem.Data.OleDb.OleDbException(0x80040E14):语法错误在 UPDATE语句。在在 System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult 小时)在 System.Data.OleDb.OleDbCommand.ExecuteCommandText(对象&(tagDBPARAMS dbParams,对象&的ExecuteReuslt) 的ExecuteReuslt)在 System.Data.OleDb.OleDbCommand.ExecuteCommand(的CommandBehavior 行为,在 System.Data.OleDb对象在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(的CommandBehavior 行为,字符串方法)&的ExecuteReuslt)。 OleDbCommand.ExecuteNonQuery() clsDataLayer.UpdateUser(String userName,String favProgram,String City,String leastFav,String State,DateTime Date,Int32 userID1)in c:\ Users \ John Vinson \ Documents \ Visual Studio 2015 \ WebSites \ ProgramAnonymous \ App_Code \ clsDataLayer.cs:线56在 useraccount_details.updateinfo_Click(对象发件人,EventArgs e)如 C:\用户\约翰文森\文件\的Visual Studio 2015 \网站已\ ProgramAnonymous \ useraccount_details.aspx.cs:线57
这里是代码...
public void UpdateUser(string userName, string favProgram, string City, string leastFav,
string State, DateTime Date, int userID1)
{
dbConnection.Open();
string sqlStmt = "UPDATE users SET userName = @username1, " +
"favProgram = @favprogram1, " +
"city = @city1, " +
"state = @state1, " +
"leastFavProgram = @leastfavprogram, " +
"dateComplete = @datecomplete, " +
"WHERE (users.userID = @id)";
OleDbCommand dbCommand = new OleDbCommand(sqlStmt, dbConnection);
OleDbParameter param = new OleDbParameter("@username1", userName);
dbCommand.Parameters.Add(param);
dbCommand.Parameters.Add(new OleDbParameter("@favprogram1", favProgram));
dbCommand.Parameters.Add(new OleDbParameter("@city1", City));
dbCommand.Parameters.Add(new OleDbParameter("@state1", State));
dbCommand.Parameters.Add(new OleDbParameter("@leastfavprogram", leastFav));
dbCommand.Parameters.Add(new OleDbParameter("@datecomplete", Date));
dbCommand.Parameters.Add(new OleDbParameter("@id", userID1));
dbCommand.ExecuteNonQuery();
dbConnection.Close();
}
您在'WHERE'之前有一个逗号。我投票结束这些只是拼写错误。 –