我在 asp.net 中有以下 web 服务
//setup profile
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void SetProfile(string userName, string firstName, string lastName, string imageUrl)
{
//create and open connection
NpgsqlConnection profileConnection = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["PrevueConnString"].ToString());
profileConnection.Open();
//create query and command
string query = "INSERT into \"Users\" (\"FirstName\", \"LastName\", \"ImageUrl\") values(:fname, :lname, :imageUrl) where \"UserName\" = :user";
NpgsqlCommand profileCommand = new NpgsqlCommand(query, profileConnection);
profileCommand.Parameters.Add(new NpgsqlParameter("user", DbType.String));
profileCommand.Parameters.Add(new NpgsqlParameter("fname", DbType.String));
profileCommand.Parameters.Add(new NpgsqlParameter("lname", DbType.String));
profileCommand.Parameters.Add(new NpgsqlParameter("imageUrl", DbType.String));
profileCommand.Parameters[0].Value = userName;
profileCommand.Parameters[1].Value = firstName;
profileCommand.Parameters[2].Value = lastName;
profileCommand.Parameters[3].Value = imageUrl;
int result = profileCommand.ExecuteNonQuery();
profileCommand.Dispose();
profileConnection.Close();
string json = new JavaScriptSerializer().Serialize(result);
Context.Response.Clear();
Context.Response.ContentType = "application/json";
Context.Response.Flush();
Context.Response.Write(json);
}
在调用 Web 服务时,我收到以下错误:
Npgsql.NpgsqlException:错误:42601:“where”或附近的语法错误