2011-08-17 29 views

回答

5
CREATE TABLE Registration_A (
Reg_No AUTOINCREMENT, 
FName VARCHAR(2), 
CONSTRAINT RegA_PK PRIMARY KEY(Reg_No)) 
+0

stat = conn.createStatement(); (「CREATE TABLE Registration_A(Reg_No AUTOINCREMENT,FName VARCHAR(2),CONSTRAINT RegA_PK PRIMARY KEY(Reg_No))」);我用這個但仍然是相同的錯誤。 – samiksha 2011-08-17 12:27:10

0

試試這

Create Table Registration_A 
     (
     Reg_No AUTOINCREMENT, 
     FName varchar(2), 
     PRIMARY KEY(Reg_No) 
     );  
1

本例使用ADOX來創建一個訪問表的自動編號主鍵

ADOX.Catalog cat = new ADOX.Catalog(); 
ADOX.Table table = new ADOX.Table(); 
ADOX.Key tableKey = new Key(); 
ADOX.Column col = new Column(); 
String connString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.accdb; Jet OLEDB:Database Password="; 

cat.Create(ConnString); 

// Define column with AutoIncrement features 
col.Name = "ID"; 
col.Type = ADOX.DataTypeEnum.adInteger; 
col.ParentCatalog = cat; 
col.Properties["AutoIncrement"].Value = true; 

table.Name = "Security"; 
table.Columns.Append(col); // default data type is text[255] 
table.Columns.Append("Username", ADOX.DataTypeEnum.adVarWChar, 255); 
table.Columns.Append("Password", ADOX.DataTypeEnum.adVarWChar, 255); 
table.Columns.Append("Engineer", ADOX.DataTypeEnum.adBoolean); 
table.Columns.Append("Default", ADOX.DataTypeEnum.adBoolean); 

// Set ID as primary key 
tableKey.Name = "Primary Key"; 
tableKey.Columns.Append("ID"); 
tableKey.Type = KeyTypeEnum.adKeyPrimary; 

// Add table to database 
cat.Tables.Append(table); 
1

可以使用COUNTER關鍵字用來創建一個自動編號字段DDL。我只是在Java控制檯應用程序測試了這一點,它下的JDBC-ODBC橋和UCanAccess都爲我工作:

String query = 
     "CREATE TABLE Registration_A (" + 
      "Reg_No COUNTER PRIMARY KEY, " + 
      "FName VARCHAR(2))"; 
Statement stmt = con.createStatement(); 
stmt.executeUpdate(query); 
1

您需要首先提到的數據類型,則主鍵。

query="Create Table Registration_A (Reg_No AUTOINCREMENT PRIMARY KEY, FName varchar(2))"; 
相關問題