2

我在 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”或附近的语法错误

4

1 回答 1

2

我想我发现了错误,我将“Where”子句与插入命令一起使用,将其更改为更新,现在一切顺利... :) 感谢您的帮助..!!

于 2012-12-17T14:28:10.223 回答