0

SQL 异常列计数与第 1 行的值计数不匹配

在 NetBeans 8.2 版中同时使用 swing 中的表单apk。我收到此错误

int i=s.executeUpdate("insert into register(FULL_NAME,EMAIL,PASSWORD,CPASSWORD,MOBILE_NO,GENDER,DEPARTMENT,HOBBIES,ADDRESS) values ('"+fname1+","+email1+","+pass1+","+cpass1+","+num1+","+gender+","+dept1+","+hobby+","+address1+"')");

我希望将值发送到 SQL 数据库或 MySql 工作台

4

3 回答 3

0

您的查询,毕竟字符串的连接应该是这样的: int i=s.executeUpdate("insert into register(FULL_NAME,EMAIL,PASSWORD,CPASSWORD,MOBILE_NO,GENDER,DEPARTMENT,HOBBIES,ADDRESS) values ('personName','personalEmail',..)) 当您在 SQL 中进行查询时,您应该用单引号将每个字符串括起来

在连接后的示例中,它将如下所示: int i=s.executeUpdate("insert into register(FULL_NAME,EMAIL,PASSWORD,CPASSWORD,MOBILE_NO,GENDER,DEPARTMENT,HOBBIES,ADDRESS) values ('personName,personalEmail,..')) 并且将被解释为您只为第一列 FULL_NAME 提供了值

于 2019-01-04T12:27:07.633 回答
0

你可以用这个

int i=s.executeUpdate("insert into register(FULL_NAME,EMAIL,PASSWORD,CPASSWORD,MOBILE_NO,GENDER,DEPARTMENT,HOBBIES,ADDRESS) "
                + "values ('"+fname1+"','"+email1+"','"+pass1+"','"+cpass1+"','"+num1+"','"+gender+"','"+dept1+"','"+hobby+"','"+address1+"')");

根据您当前的情况,您传递的是单个值而不是 9 due ' single qote

于 2019-01-04T07:33:40.653 回答
0

您的表有 9 列,但您只能将值插入 1 列。

您应该搜索使用parameterized query或使用此解决方法(参数 varchar 类型由 引用'',数字类型不是)

int i = s.executeUpdate(
        "INSERT INTO register(
            full_name,
            email,
            password,
            cpassword,
            mobile_no,
            gender,
            department,
            hobbies,
            address) 
        VALUES ('" 
        + fname1
        + "', '" + email1
        + "', '" + pass1
        + "', '" + cpass1
        + "'," + num1
        + ", '" + gender
        + "', '" + dept1
        + "', '" + hobby
        + "', '" + address1 
        + "')"
    );
于 2019-01-04T07:11:51.037 回答