netbeans java netbean将数据插入到数据库不起作用

u5i3ibmn  于 2022-11-10  发布在  Java
关注(0)|答案(2)|浏览(179)

我尝试使用java netbean通过我自己的接口将数据插入数据库,但我被卡住了,插入查询不起作用,这是我的代码段

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

    package youthsociety;

    import java.beans.Statement;
    import java.sql.Connection;
    import java.sql.DriverManager;

    /**
     *
     * @author Rathnayaka RMBS
     */
    public class dbop {
        String url="jdbc:mysql://localhost:3306/youthsociety";
        String username="root";
        String password="";
        Connection con=null;
        Statement st=null;

        public void addmember(memberdata m){
            try{
                con=(Connection)DriverManager.getConnection(url,username,password);
                String query="INSERT INTO members VALUES(?,?,?,?,?,?,?,?)";
                st=(Statement)con.createStatement();
                st.executeUpdate(query);

            }catch(Exception e){

            }
        }

    }

st.executeUpdate(查询)标记为错误。

ztigrdn8

ztigrdn81#

好吧,让我来解释一下你的问题。
1.您没有配置jdbc驱动程序。
1.不需要施展任何东西!
1.您的查询中有问号'?',而且您正在使用简单的Statement类别来执行,而不是PreparedStatement。
现在,如果您使用的是简单语句,请访问以下链接:A Java MySQL INSERT example (using Statement)
如果您使用的是PreparedStatement,则可以访问此链接:A Java MySQL INSERT example (using PreparedStatement)

3pmvbmvn

3pmvbmvn2#

在这里你必须使用这个After查询
那么你需要在(?)
你也可以这样做

try{
            con=(Connection)DriverManager.getConnection(url,username,password);
            String query="INSERT INTO members VALUES(?,?,?)";

            PreparedStatement pst = con.prepareStatement(query)
            pst.setInt(1,anyInt);
            pst.setString(2,anyString);
            pst.setString(3,anyString);

            int rowcount = pst.executeUpdate();

            if(rowcount>0){
             System.out.println("Done");
            }
            else{
             System.out.println("Faild");
            }

        }catch(Exception e){
                e.printStackTrace()
        }

相关问题