社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

从Java中插入数据到MySQL的问题

Jashandeep Singh • 5 年前 • 1433 次点击  
            String user=new String(tf1.getText());
            String pass=new String(pf1.getPassword());
            String mb=new String(tf2.getText());
            String email=new String(tf3.getText());
            String query="INSERT into user_info (username,password,email_id,mobile number) VALUES('"+user+"','"+pass+"','"+email+"','"+mb+"')";
            try {
                    Connection myConn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaproject","root","noor1032");
                    System.out.println("databse connected");
                    PreparedStatement myStat=myConn.prepareStatement(query); 
                    System.out.println("statement prepapred");
                    myStat.setString(1, user); 
                    myStat.setString(2, pass); 
                    myStat.setString(3, email); 
                    myStat.setString(4, mb); 
                    myStat.executeUpdate();
                    System.out.println("query executed");
                    myConn.close();
                    JOptionPane.showMessageDialog(null, "saved");
               }    
            catch(Exception f)
                {
                    System.err.println("Got an exception!");
                    System.err.println(f.getMessage());
                }

它显示的异常是“参数索引超出范围(1>参数个数,即0)。”请帮助!!!!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42946
 
1433 次点击  
文章 [ 2 ]  |  最新文章 5 年前
forpas
Reply   •   1 楼
forpas    6 年前

由于您使用的是准备好的语句,请更改为:

String query="INSERT into user_info (username,password,email_id,`mobile number`) VALUES(?,?,?,?)";

稍后将插入参数,并调用 setString() 方法。

编辑 如果列的名称是 mobile number 然后在select语句中写入
`手机号码` [手机号码]

elbraulio
Reply   •   2 楼
elbraulio    6 年前

替换为:

"INSERT into user_info (username,password,email_id,mobile number) VALUES('"+user+"','"+pass+"','"+email+"','"+mb+"')";

通过:

"INSERT into user_info (username,password,email_id,mobile_number) VALUES(?, ?, ?, ?)";

以后按相应的顺序插入值时

myStat.setString(1, user); 
myStat.setString(2, pass); 
myStat.setString(3, email); 
myStat.setString(4, mb);