我正在使用MS-Access和JSP。我想知道我們如何創建具有自動編號字段和主鍵的表格。如何使用MS中的自動編號字段創建表 - 在運行時訪問?
query =「Create Table Registration_A(Reg_No PRIMARY KEY AUTOINCREMENT, FName varchar(2))」;;
但它的語法錯誤。什麼是正確的語法?
我正在使用MS-Access和JSP。我想知道我們如何創建具有自動編號字段和主鍵的表格。如何使用MS中的自動編號字段創建表 - 在運行時訪問?
query =「Create Table Registration_A(Reg_No PRIMARY KEY AUTOINCREMENT, FName varchar(2))」;;
但它的語法錯誤。什麼是正確的語法?
CREATE TABLE Registration_A (
Reg_No AUTOINCREMENT,
FName VARCHAR(2),
CONSTRAINT RegA_PK PRIMARY KEY(Reg_No))
試試這
Create Table Registration_A
(
Reg_No AUTOINCREMENT,
FName varchar(2),
PRIMARY KEY(Reg_No)
);
本例使用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);
可以使用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);
您需要首先提到的數據類型,則主鍵。
query="Create Table Registration_A (Reg_No AUTOINCREMENT PRIMARY KEY, FName varchar(2))";
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