如何用java代码在access数据库中建一个表出来?
我准备用xml文件定义好表的格式,解析后,转成sql语句,用jdbc来建表.   
 之前在sqlServer上验证过,但转到Access时报了sql异常.   
 个人感觉似乎Access本身就不支持类似create   table的语句,请熟悉Access的高手指点一下,类似下面的在sqlServer下的sql语句,在Access下应该如何写,不胜感激。   
 下面是错误信息,第一行是sql语句。   
 use   mydb   IF   EXISTS(SELECT   name   FROM   sysobjects   WHERE      name   =    '用户表 '   AND   	   type   =    'U ')   DROP   TABLE   用户表   CREATE   TABLE   用户表(索引   int   IDENTITY   (1,   1)   NOT   NULL   ,口令   char(20)   NULL,用户名   char(10)   NULL,用户组   char(4)   NULL)    
java.sql.SQLException:   [Microsoft][ODBC   Microsoft   Access   Driver]   无效的   SQL语句;期待    'DELETE '、 'INSERT '、 'PROCEDURE '、 'SELECT '、或    'UPDATE '。 
 	at   sun.jdbc.odbc.JdbcOdbc.create
SQLException(Unknown   Source) 
 	at   sun.jdbc.odbc.JdbcOdbc.standardError(Unknown   Source) 
 	at   sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown   Source) 
 	at   sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown   Source) 
 	at   sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(Unknown   Source) 
 	at   dbtools.DBTools.executeOtherSql(DBTools.java:110) 
 	at   dbtools.DBTools.main(DBTools.java:322)
------解决方案--------------------Access中的语句和SQLSERVER肯定不一样的~~ 
 java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 无效的 SQL语句;期待  'DELETE '、 'INSERT '、 'PROCEDURE '、 'SELECT '、或  'UPDATE '。 
  估计是不支持CREATE的 
  建议用DERBY数据库,JDK1.6带的 嵌入式数据库,个人认为完全可以取代ACCESS. 
 package csdn; 
 import java.sql.Connection; 
 import java.sql.DriverManager; 
 import java.sql.ResultSet; 
 import java.sql.Statement; 
 import org.apache.derby.drda.NetworkServerControl; 
 import java.io.BufferedReader; 
 import java.io.PrintWriter; 
 import java.io.InputStreamReader; 
 class TestDerbyServer { 
      public static void main(String[] args) { 
          try { 
              NetworkServerControl dbserver = new NetworkServerControl();//启动服务器   
              PrintWriter pw = new PrintWriter(System.out);//获取服务器输出 
              dbserver.start(pw);   
              Connection conn = DriverManager.getConnection( "jdbc:derby:TESTDB;create=true ");//本地连接数据库   
              Statement st = conn.createStatement(); 
        //      st.execute( "create table USER_INFO (ID INT NOT NULL,NAME VARCHAR(10) NOT NULL) ");//建表 
              st.executeUpdate( "insert into USER_INFO(ID,NAME) values (1, 'hermit ') ");//插入数据 
              st.executeUpdate( "insert into USER_INFO(ID,NAME) values (2, 'test ') ");//插入数据   
              /* 
               *等待用户输入,让程序继续运行,不然程序会运行结束,客户端就连不上了 
               */ 
              BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
              System.out.println( "Press [Enter] to stop Server "); 
              in.readLine();   
          } catch (Exception ex) { 
              ex.printStackTrace(); 
          } 
      }   
  } 
------解决方案--------------------楼主说的情况没实践过,不过Access作为文件式的数据库,本身不支持的东西也就没办法弄了,如存储过程,触发器 
 还得在Access的处理方式上下功夫,祝好运
------解决方案--------------------sysobjects 这表Access里面没有 
 你还是用DAO或者ADOX吧
------解决方案--------------------  没做过,帮顶一下吧