2012-07-04 1 views
-1

Моя программа не может генерировать новое имя для таблицы evertime, с которой запускается программа, в результате чего она не создается. Вот мой код: -Программа для создания новой таблицы в базе данных MySQL каждый раз при запуске программы

package org.java.myfirstapp; 

import java.sql.*; 



public class ConnectForm { 



    public void createFormData(String name,String num){ 
     Connection con=null; 

     try{ 
      Class.forName("com.mysql.jdbc.Driver").newInstance(); 
      con = DriverManager.getConnection("jdbc:mysql://localhost:3306/formdata", "root", null); 
      try{ 
       int no=1,no1 = 0; 
       do{Statement st=con.createStatement(); 
        no1=no; 

       int x; 
       x= st.executeUpdate("create table form"+no+" (Product varchar(20),Fields varchar(20))"); 


       if(x==0){ 

       st.executeUpdate("insert into form"+no+" values ('"+name+"','"+num+"')"); 
       } 
       else { 
        no++;} 


       }while(no1<no); 
      } 
      catch(SQLException e1){ 

       System.err.println("Error code:"+e1.getMessage());} 

     } 
      catch(Exception e1){ 
       e1.printStackTrace(); 
     } 
    } 
} 
+1

Спасибо за обмен, теперь, пожалуйста, пойти и прочитать [FAQ] –

+1

Является ли это Jeopardy? Должны ли мы теперь сформулировать вопрос? – maba

+0

Какая ошибка у вас? –

ответ

0

Eclipse, не будучи в состоянии найти java.util.Random хотя я найти его в моем Java SDK

В примере, который вы представили вы не используйте класс java.util.Random ', но этот тип ошибки указывает на то, что вам, вероятно, не хватает импорта, или путь сборки установлен неправильно.

What import are ? What is build path ?

О втором выпуске

form1' уже создана

Это, вероятно, стоять за этим столом уже был создан приложением на базе данных, используя эту линию код.

t.executeUpdate("create table form"+no+" (Product varchar(20),Fields varchar(20)

+0

Да, но не должен ли контроль перейти от блока if к блоку else, поскольку условие в выражении if не будет истинным? Затем новое имя будет присвоено таблице i.e form2 – user1481851

+0

Прежде всего, вы не должны использовать executeUpdate для DDL. Во-вторых, если вы кулаком выполняете 'create', тогда у вас есть if. –

+0

хорошо, а что альтернатива использованию executeUpdate для DDL? Также большое спасибо за вашу помощь и терпение. Я новичок в этом, так что это действительно полезно. Кроме того, даже если я выполняю оператор create в условии «if» и сравниваю его значение с нулем, возникает такая же ошибка. – user1481851

Смежные вопросы