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

私はエラーを理解したと思います.Insertコマンドで「Where」句を使用し、それをUpdateに変更しましたが、今はスムーズです... :)助けていただきありがとうございます..!!

于 2012-12-17T14:28:10.223 に答える