create table语句中的错误

时间:2013-06-18 13:04:55

标签: java sql-server jsp tomcat7

我总是在create table statement中收到错误。

try{
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

 Connection conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:/my project/apache-tomcat-7.0.41/odbcdsn name.mdb"
      );

 Statement st=conn.createStatement();

 st.executeUpdate("CREATE TABLE  appr (_name varchar(10),_fname varchar(10),gender varchar(1),cat varchar(10),emp varchar(3),pno integer(10),_cno integer(10),email varchar(30),address varchar(40), pno integer(6),boe varchar(6),tot integer(3),ttl integer(3))");

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

嗯,你得到的错误信息非常清楚问题是什么:

Msg 2716, Level 16, State 1, Line 1
Column, parameter, or variable #6: Cannot specify a column width on data type int.

所以,试试这个:

CREATE TABLE dbo.appr (
   _name VARCHAR(10),
   _fname VARCHAR(10),
   gender VARCHAR(1),
   cat VARCHAR(10),
   emp VARCHAR(3),
   pno INTEGER,
   _cno INTEGER,
   email VARCHAR(30),
   address VARCHAR(40),
   ___pno INTEGER,
   boe VARCHAR(6),
   tot INTEGER,
   ttl INTEGER
  );

我刚用INTEGER替换了INTEGER(?)。您需要确定您真正想要的数据类型。你可以从这里开始:http://msdn.microsoft.com/en-us/library/ms187752.aspx

你的表中也有一个重复的列名,有趣的是使用不同的数据类型...我用___pno替换其中一个