打印本文 打印本文  关闭窗口 关闭窗口
ADO如何建立修改?除资料表呢?(BIG5)
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 12:31:37
可以使用ASP於程式?中直接建立修改?除?料表呢?

??料表有?的SQL?法如下:

建立一??料表:CREATE TABLE?述式。
修改一??料表:ALTER TABLE?述式。
?除一??料表:DROP TABLE?述式。
建立一?索引:使用CREATE INDEX 或 ALTER TABLE?述式。
?除一?索引:DROP INDEX?述式。
??介?如下:

CREATE TABLE?述式

CREATE TABLE?述式,建立一?新的?料表。

?法如下:

CREATE TABLE 新?料表(新?位名?1 ?位?型 [(?度)] [NOT NULL] [索引1] [,新?位名?2 ?位?型 [(?度)] [NOT NULL] [索引2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])

?度?文字及二位元?位的字元大小。

索引1, 索引2 CONSTRAINT子句定??一?位索引。

multifieldindex定?一多重?位索引。

使用CREATE TABLE?述式,如果?一?位指定?NOT NULL,?在此?位中新增的???料?容必?是有效的?料。

CONSTRAINT子句可在一?位上建立不同的限制,?且也可以用?建立主索引。

您可以使用CREATE INDEX?述式,在?有的?料表上建立一?主索引或多?索引。

?我?看一?於ASP程式??中使用??SQL指令的例子。

譬如ASP程式?rs61.asp如下,[CREATE TABLE ?? (姓名 TEXT(10), 年? INT)] 先建立一???的?料表,包括10?位元?度TEXT?型的姓名?位,和整??型的年??位:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

sql = "CREATE TABLE ?? (姓名 TEXT(10), 年? INT)"

Set a = conn1.Execute(sql)

Response.Write "CREATE TABLE OK<p>"

conn1.Close

%>

?行後,使用Access??NtopSamp.mdb?案?,可看到新建立一???的?料表。

ALTER TABLE?述式

ALTER TABLE?述式,修改已建立好的?料表。

?法如下:

ALTER TABLE ?料表 {ADD {COLUMN ?位名? ?位?型[(?度)] [NOT NULL] [CONSTRAINT 索引] |
CONSTRAINT multifieldindex} |
DROP {COLUMN ?位名? I CONSTRAINT 多重?位索引名?} }

使用ALTER TABLE?述式,您可以利用多?不同方法,?更目前已存在的?料表:

使用ADD COLUMN新增?位到?料表。
使用DROP COLUMN?除一?位。只需指定欲?除之?位名?即可。
使用ADD CONSTRAINT新增多重?位索引。
使用DROP CONSTRAINT?除多重?位索引。只需指定?接在CONSTRAINT之後的索引名?即可。
使用ADD COLUMN新增?位到?料表?,必?指定?位名?、?料?型、以及文字和二位元?位的?度。例如,下例增加一?2?字元,名?性?的文字?位至???料表:

ALTER TABLE ?? ADD COLUMN 性? TEXT(2)

您也可以?此?位定?索引。

如果您?一?位指定 NOT NULL,?於此?位中所新增的???料必?是有效的?料。

您不能同?新增或?除多??位或索引。

譬如ASP程式?rs63.asp如下,[CREATE TABLE ??1 (姓名 TEXT(10), 年? INT)] 先建立一???1的?料表,然後使用 [ALTER TABLE ??1 ADD COLUMN 性? TEXT(2)] 增加一?2?字元,名?性?的文字?位至??1?料表:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

sql = "CREATE TABLE ??1 (姓名 TEXT(10), 年? INT)"

Set a = conn1.Execute(sql)

Response.Write "CREATE TABLE OK<p>"

sql = "ALTER TABLE ??1 ADD COLUMN 性? TEXT(2)"

Set a = conn1.Execute(sql)

Response.Write "ALTER TABLE OK<p>"

conn1.Close

%>

?行後,使用Access??NtopSamp.mdb?案?,可看到?料表??1新建立一?姓?的?位。

DROP?述式

DROP?述式?一??料?中?除一?已存在的?料表,或?一??料表中?除一?已存在的索引。

?法如下:

DROP {TABLE ?料表 | INDEX 索引 ON ?料表}

?料表必?先??,才能?除此?料表或由此?料表中的索引。

若要?除索引,除了使用DROP INDEX 索引 ON ?料表,也可以使用ALTER TABLE。

譬如ASP程式?rs62.asp如下,首先使用 [CREATE TABLE ??2 (姓名 TEXT(10), 年? INT)] 先建立一???2的?料表,包括10?位元?度TEXT?型的姓名?位,和整??型的年??位,然後使用 [DROP TABLE ??2] ?除??2的?料表:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

sql = "CREATE TABLE ??2 (姓名 TEXT(10), 年? INT)"

Set a = conn1.Execute(sql)

Response.Write "CREATE TABLE OK<p>"

sql = "DROP TABLE ??2"

Set a = conn1.Execute(sql)

Response.Write "DROP TABLE OK<p>"

conn1.Close

%>

 

 



打印本文 打印本文  关闭窗口 关闭窗口