-5

リクエストは実行されません:

            mycmd = new MySqlCommand();
            mycmd.CommandText = "INSERT INTRO 'users' (userid, username, password, ipaddr, port, channel, inbox, inboxadm, access, other) VALUES (NULL, 'username2', 'password2', NULL, NULL, 'channel2', NULL, NULL, 'access2', NULL);";
            mycmd.Connection = mconnection;
            mycmd.Parameters.AddWithValue("username2", message.Login);
            mycmd.Parameters.AddWithValue("password2", message.Password);
            mycmd.Parameters.AddWithValue("channel2", "channel");
            mycmd.Parameters.AddWithValue("access2", 0);
            mycmd.CommandType = CommandType.Text;

            mycmd.ExecuteNonQuery();

リクエストのエラーを見つけて修正するのに役立ちます。

phpmyadmin の SQL クエリの例:

INSERT INTO `shachat`.`users` (`userid`, `username`, `password`, `ipaddr`, `port`, `channel`, `inbox`, `inboxadm`, `access`, `other`) VALUES (NULL, 'myacc', 'mypass', NULL, NULL, 'administratorY', NULL, NULL, '9', NULL);
4

3 に答える 3

2

問題に加えて、INSERT INTROパラメータの前に「アット」記号を付ける必要があります。また、文字値を一重引用符で囲む必要はありません。ここでエラーが発生します。

テーブル名を一重引用符で囲んでいることも問題です。それらをバッククォートと混同しないでください。テーブル名が予約語ではないこのような場合、私はバッククォートなしで行くことを好みます。

mycmd = new MySqlCommand();
mycmd.CommandText =
   "INSERT INTO users (userid, username, password, ipaddr, port, channel, inbox, inboxadm, access, other) " +
   "VALUES (NULL, @username2, @password2, NULL, NULL, @channel2, NULL, NULL, @access2, NULL);";
mycmd.Connection = mconnection;
mycmd.Parameters.AddWithValue("@username2", message.Login);
mycmd.Parameters.AddWithValue("@password2", message.Password);
mycmd.Parameters.AddWithValue("@channel2", "channel");
mycmd.Parameters.AddWithValue("@access2", 0);
mycmd.CommandType = CommandType.Text;

mycmd.ExecuteNonQuery();
于 2013-06-20T15:51:34.497 に答える