今天在用C#創建Access數據庫的時候遇到了一個字段類型的問題,因爲程序創建數據庫表這個在SqlServer上比較常見,在百度中找了很久,把相關的屬性抄錄下來吧,以供以後使用。
1、動態創建Access數據庫:本人覺得用ADOX的方式簡單是簡單,但是還是需要一個DLL組建方可以實現數據庫的創建,所以那我們就換個思路吧,爲什麼不可以這樣來呢。創建一個空白的數據庫,之後通過程序去創建數據庫的表,這樣的效果不是也可以實現的?
2、動態創建Access數據庫表:Create Table Admin (ID INT,UserName VarChar(50),UserPass VarChar(50)),這裏遇到了字段屬性的問題,具體的屬性值請看下面的表吧。
----------------------------------------------------------------------------
類型名稱 TYPE 備註
----------------------------------------------------------------------------
自動編號 integer + identity(1,1)
文本 varchar(50) 括號中的數字爲文本長度
長整型 integer
整型 short
雙精度型 double,float
單精度型 real
字節型 byte
小數 NUMERIC(6,2)
貨幣 money
備註 text
日期/時間 date,time,datetime
是/否 bit
OLE 對象 OLEObject
----------------------------------------------------------------------------
主鍵 primary key
必填 not null
默認值 default 當爲日期型時爲 default date()
-----------------------------------------------------------------------------
示例
表名 字段名 類型 附屬屬性 說明
------- --------- ------------ --------------------------------- -------------------
create table mytable (m_id integer identity(1,1) primary key ,--自增型,主鍵
m_class varchar(50) not null default 'AAA' ,--文本,非空,默認值'AAA'
m_int integer not null ,--長整型,非空
m_numeric NUMERIC(6,2) ,--小數型
m_money money not null default 0.00 ,--貨幣型,非空,默認值0.00
m_memo text ,--備註型
m_date date default date() ,--日期型,默認爲當前日期
m_boolean bit default yes ,--布爾型,默認爲yes
m_blob OLEObject ,--BLOB型
m_double double ,--雙精度型
m_float real) --單精度型
----------------------------------------------------------------------------------------------------------------------------
創建索引
示例1
create index myindex on mytable (m_class [DESC, ASC], m_int)
示例2
create unique index myindex on mytable (m_class) --創建無重複索引
注意:主鍵字段會被自動建立爲沒有重複的索引
上面是我摘抄的,下面的是能夠正確執行建表的語句:
CREATE TABLE [NT_channel_product3](
[Id] counter CONSTRAINT id PRIMARY KEY,
[ChID] long NOT NULL ,title text(100) NOT NULL ,
[ClassID] long NOT NULL ,[SpecialID] text (200) NULL ,
[TitleColor] text (10) NULL ,
[TitleITF] byte NULL ,
[TitleBTF] byte NULL ,
[PicURL] text (200) NULL ,
[Content] memo NULL ,
[NaviContent] text (200) NULL ,
[ContentProperty] text (9) NULL ,
[Author] text (100) NULL ,
[Editor] text (50) NULL ,
[Souce] text (100) NULL ,
[OrderID] byte NOT NULL ,
[Tags] text (100) NULL ,
[Templet] text (200) NULL ,
[SavePath] text (200) NULL ,
[FileName] text (100) NULL ,
[isDelPoint] byte NOT NULL ,
[Gpoint] long NULL ,
[iPoint] long NULL ,
[GroupNumber] memo NULL ,
[Metakeywords] text (200) NULL ,
[Metadesc] text (200) NULL ,
[Click] long NULL ,
[CreatTime] datetime NULL ,
[isHTML] byte NOT NULL ,
[isConstr] byte NOT NULL ,
[ConstrTF] byte NOT NULL
)