楼上的,我用了st.execute(sql);也不行呀.

解决方案 »

  1.   

    哦.忘了说,我用的是ACCESS,JDBC-ODBC桥驱动
      

  2.   

    因为excute()和excuteUpdate()方法自身会抛出exception,所以你有两种方法:
    1,在你调用这两个方法的地方加上try-catch块;
    2,在你的这个方法申明的时候,加上throws exception;
      

  3.   

    你在
    Statement st=con.createStatement();
     st.executeUpdate(sql);
    之前用System.out.println("sql=="+sql) ;
    输出后拷到sql分析器运行一下看没有错。
    excute()和excuteUpdate()是都可以的,应该是sql有问题。
      

  4.   

    数据源什么的我已经设好了,以下是源程序,请各位看一下,
    import java.awt.*;
    import java.awt.event.*;
    import java.sql.*;public class Test {
       Frame f;
       TextField tf;
       Button b;
       
       Test() {
          f=new Frame("Test");
          tf=new TextField(10);
          b=new Button("ok");
       }
       
       void launchFrame() {
          f.setSize(300,200);
          f.addWindowListener(new WindowHandler());
          f.add(b,BorderLayout.CENTER);
          f.add(tf,BorderLayout.NORTH);
          tf.addActionListener(new TextHandler());
          b.addActionListener(new TextHandler());
          f.setLocation(60,60);
          f.setVisible(true);
       }
       
       class WindowHandler extends WindowAdapter {
          public void windowClosing(WindowEvent e) {
             System.exit(0);
          }
       }
       
       class TextHandler implements ActionListener {
          public void actionPerformed(ActionEvent e) {
             //System.out.println("ok");
             String url="jdbc:odbc:schoolDSN";
             String sql="CREATE TABLE "+tf.getText()+"(number INTEGER)";
          
                try {
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                   Connection con=DriverManager.getConnection(url,"sa","");
                   System.out.println(sql);
                   Statement st=con.createStatement();
                   st.executeUpdate(sql);               con.close();
                }catch(Exception ex) {System.out.println("Database error!");}
       
             
          }
       }
       
       public static void main(String args[]) {
          Test t=new Test();
          t.launchFrame();
       }
    }
      

  5.   

    TO  Andrawu(Andrawu):
    我没有sql分析器呀,不知道那里有下载吗?
    而且我打印出来的sql好像没错呀,
      

  6.   

    不好意思,我以为你不能编译呢!呵呵!
    如果这样的话,可不可以把你的sql文贴出来?
      

  7.   

    sql文?就是sql语句吧,在下面:
    CREATE TABLE ya(number INTEGER,name VARCHAR(10))
      

  8.   

    是不是在表名和字段之间少了空格,试试create table ya (number Integer,name varchar(10))
      

  9.   

    number 是关键字,不能当成列名!
      

  10.   

    楼上的一语中的,佩服佩服,多谢了,
    二话不说,给分,
    以后有什么sql语句的问题就找你了.呵呵.