-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

4

问题是 INSERT 'INTRO' 关键字是 INSERT INTO

于 2013-06-20T15:49:03.883 回答
2

除了INSERT INTRO问题之外,您还需要在参数前加上“at”符号。此外,不需要在字符值周围加上单引号;他们会在这里导致错误。

表名周围的单引号也是一个问题;不要将它们与反引号混淆。在这种情况下,表名不是保留字,我更喜欢不使用反引号。

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 回答
0

马上就相信了

INSERT INTRO 'users'

应该

INSERT INTO users
于 2013-06-20T15:49:02.447 回答