这是一个仿QQ的程序,在登陆时可以访问服务器端的数据库,而注册时用如下语句却出现错误。
顺序,字段类型都没错,用户名和密码也都没错
int m=stat.executeUpdate("INSERT INTO Login(QQ号码,用户名,QQ密码) VALUES(s1,getInf1,getInf2)");
错误信息:java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 3。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
......
哪位高手能告诉我这是为什么吗?

解决方案 »

  1.   

    看你的sql语句,觉得有问题stat.executeUpdate("INSERT INTO Login(QQ号码,用户名,QQ密码) VALUES(s1,getInf1,getInf2)"); 
    你的"QQ号码,用户名,QQ密码"这些字段都是字符类型吗?你传递的"s1,getInf1,getInf2"都是引入的参数吗?如果都是字符和参数,那么,应该这样写的
    stat.executeUpdate("INSERT INTO Login(QQ号码,用户名,QQ密码) VALUES('"+s1+"','"+getInf1+"','"+getInf2+"')"); 
      

  2.   

    values 传递的参数不对。
    确定一下s1,getInf1,getInf2是变量还是参数
      

  3.   

    太谢谢啦,问题解决了
    你的"QQ号码,用户名,QQ密码"这些字段都是字符类型吗?你传递的"s1,getInf1,getInf2"都是引入的参数吗?如果都是字符和参数,那么,应该这样写的 
    stat.executeUpdate("INSERT INTO Login(QQ号码,用户名,QQ密码) VALUES('"+s1+"','"+getInf1+"','"+getInf2+"')"); 就是这么弄的,为什么需要加+"','"+呢?能解释一下吗?