Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法运行executeUpdate()_Java_Jdbc - Fatal编程技术网

Java 无法运行executeUpdate()

Java 无法运行executeUpdate(),java,jdbc,Java,Jdbc,我一直试图使用prepared语句将数据插入DB,但无法运行stmt.executeUpdate()查询将插入下面声明的数组中的字段,该语句将设置数组中的值 long[] array = new long[100]; int[] devreg = new int[10]; int count = 0, index = 0; try { Class.forName("com.mysql.jdbc.Driver"); con

我一直试图使用prepared语句将数据插入DB,但无法运行
stmt.executeUpdate()
查询将插入下面声明的数组中的字段,该语句将设置数组中的值

 long[] array = new long[100];
 int[] devreg = new int[10];
 int count = 0, index = 0;
 try
        {  
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(Constants.DB_URL, Constants.USER, Constants.PASS); 
    //      LogMgr.dblogger.info(name +" : Database connection established");       //connection passed
        }
        catch (Exception e)
        {
            LogMgr.dblogger.info("Cannot connect to database" + e.toString()); //connection failure
        }
        if (conn != null)  //if connection passed or available
        {   //checking device registration
            String InsertQuery = " INSERT INTO `acc_dev_db`.`widhb` (`name`,`age`, `type`) VALUES ";

            int needacomma = 0; 
            for (int i=0; i< noofMsg; i++)
            {
                long empid = array[(i*indexlength)+1];
                try
                {
                    Statement s = conn.createStatement ();
                    s.executeQuery ("SELECT `empid` FROM `acc_dev_db`.`ID` WHERE `widevid` = "+empid+";");
                    ResultSet rs = s.getResultSet ();
                    if (rs.next())
                    {
                        devstatus = true;
                        if(needacomma>0)
                        {
                            InsertQuery = InsertQuery + ","; 
                        }
                        InsertQuery = InsertQuery + "(?,?,?,?)";
                        needacomma += 1;
                        devreg[j] = i;
                        j++;

                        LogMgr.dblogger.info("ID found registered : " + empid);         //found device id in the device table. Known device
                    }  
                    else
                    {
                        LogMgr.dblogger.info("ID found not registered : " + empid); 
                    }
                    rs.close ();
                    s.close ();
                }
                catch (Exception e) {
                    LogMgr.dblogger.info("Database reading error \n" + e.toString() );  //database reading error
                }
            }        
            if (devstatus == true)      //if device is registered or known device
            {   
                InsertQuery = InsertQuery + ";"; 
                java.sql.PreparedStatement stmt = conn.prepareStatement(InsertQuery);
                int loc = 1;
                for (count = 0;count < j; count++)
                {
                    int position = (indexlength*devreg[count]);      
                    stmt.setLong(loc, array[position]);
                    System.out.println( array[position]);
                    stmt.setDouble(loc + 1, array[position + 1]);
                    System.out.println( array[position+1]);
                    stmt.setTimestamp(loc + 2,dateconvert(2, array[position + 2]));
                    System.out.println( array[position+2]);
                    stmt.setLong(loc + 3, array[position + 3]);
                    System.out.println( array[position+3]);
                    loc += 4;   

                }
                LogMgr.jmslogger.info(stmt.toString());
                try{
                    stmt.executeUpdate();  
                    LogMgr.dblogger.info(name +" : studentdata update successfull from dev : " + devaddress);
                }
                catch(SQLException e){
                    System.out.println("EXCEPTION MAN!!!");
                }

                conn.close ();
            }

您应该
抛出
SqlException
或使用
try catch
块,对于管理
SqlException

您正在捕获
SqlException
并忽略异常,请执行
e.printStackTrace()
以获得准确的stracktrace并将其发布在此处。非常感谢!!这真是一个愚蠢的错误,我花了3个小时!!
 12355419
 3740073994
 491504582
 43690
 EXCEPTION MAN!!!