java netbean向db插入数据不起作用

Posted

技术标签:

【中文标题】java netbean向db插入数据不起作用【英文标题】:java netbean inserting data to db does not work 【发布时间】:2018-02-03 19:58:51 【问题描述】:

我正在尝试使用 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(query) 标记为错误。

【问题讨论】:

插入查询在这里不起作用什么不起作用? 欢迎来到 Stack Overflow!请拿起tour,环顾四周,并通读help center,尤其是How do I ask a good question?。请提供您得到的完整的错误消息和/或stack strace 另见docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html 您正在传递memberdata m,但您将其设置为VALUES 到插入语句?并且不要忽略异常,只需在 catch 块内使用 e.printStackTrace() 即可获取错误的确切原因。 【参考方案1】:

好的,让我解释一下你的问题。

    您没有配置 jdbc 驱动程序。 不需要投射任何东西! 您的查询中有问号“?”,并且您正在使用简单的 Statement 类而不是 PreparedStatement 来执行。

现在,如果您使用的是简单语句,请点击以下链接: A Java MySQL INSERT example (using Statement)

如果您使用的是 PreparedStatement,您可以点击此链接: A Java MySQL INSERT example (using PreparedStatement)

【讨论】:

【参考方案2】:

这里你要使用这个后查询

那么你需要在 (?) 中给出一些值

你也可以这样做

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()
        

【讨论】:

以上是关于java netbean向db插入数据不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将新行插入 SQL SERVER CE 3.5 DB 不起作用但不显示任何错误

Python MySql插入不起作用

插入数据库不起作用

xampp 中的 xdebug 在 netbeans 上不起作用

由于 Java SimpleDateFormat 问题,在 Oracle DB 中保存时间数据(带区域)不起作用

包含文件的 NetBeans 自动完成功能不起作用?