网页编程 - 用ASP创建表,增加删除字段等

创建一张空表:

程序代码

Sql="Create TABLE [表名]"

创建一张有字段的表:

程序代码

Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))

字段类型:

2 : "SmallInt",            // 整型

3 : "Int",                 // 长整型

4 : "Real",                // 单精度型

5 : "Float",               // 双精度型

6 : "Money",               // 货币

7 : "DateTime",            // 日期时间

11 : "Bit",                // 是否

13 : "TimeStamp",

17 : "TinyInt",            // 字节

72 : "UniqueIdentifier",   // 同步复制 ID

128 : "Binary",

129 : "Char",

130 : "NChar",

131 : "Decimal",           // 小数

133 : "DateTime",

135 : "SmallDateTime",

200 : "VarChar",

201 : "Text",

202 : "VarChar",           // 文本

203 : "Text",              // 备注

204 : "Binary",            // 二进制

205 : "Image"              // OLE 对象

以下字段为无编码字段(NChar、NVarchar、NText型)

8,128,130,202,203,204,205

以下字段为按当前系统内码编码的字段(Asp中可用CodePage=936纠正为gb2312内码)

129,200,201

在现有的表中增加字段:

程序代码

Sql="alter table [表名] add column [字段名] varchar(200)"

修改字段类型:

程序代码

Sql="alter table [表名] Alter COLUMN 字段名]   varchar(50)"

删除表:

程序代码

Sql="Drop table [表名]"

删除字段:

程序代码

sql="alter table [表名] drop [字段名]"

修改字段:

程序代码

Alter TABLE [表名] Alter COLUMN [字段名] 类型(大小) NULL

新建约束:

程序代码

Alter TABLE [表名] ADD CONSTRAINT 约束名 CHECK ([约束字段] <= '2007-1-1')

删除约束:

程序代码

Alter TABLE [表名] Drop CONSTRAINT 约束名

新建默认值:

程序代码

Alter TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT 'Gziu.CoM' FOR [字段名]

删除默认值:

程序代码

Alter TABLE [表名] Drop CONSTRAINT 默认值名

=======================================

程序代码

conn.open connstr

sql="alter table [tablename] add hehe char(20)"

conn.execute(sql)

response.write("添加成功")

ACCESS新建数据库和表还不简单,有了表字段初始化就更简单

=======================================

程序代码

<%

session("tablen")="news"

'news是已存在的表名

session("fieldsn")="c"

'要添加的字段名

connectionstring="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/qq.mdb")

set conn=server.createobject("adodb.connection")

conn.OPEN connectionstring

jhsql = " Alter Table "&session("tablen")&" add column "&session("fieldsn")&" real "

conn.execute(jhsql)

%>

================================

生成数据表,添加字段,其中id字段为自动增加,测试通过~~

程序代码

Sub GenAutoIncrementFld()

set cn=server.CreateObject("ADODB.Connection")

set clx=server.CreateObject("ADOX.Column")

set cat=server.CreateObject("ADOX.Catalog")

set tblnam=server.CreateObject("ADOX.Table")

    

     cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\网站制作\asp操作mdb\db\test.mdb"

     Set cat.ActiveConnection = cn

     tblnam.Name = "Test"

     clx.ParentCatalog = cat

    

     clx.Type = 3

     clx.Name = "Id"

     clx.Properties("AutoIncrement") = true

     tblnam.Columns.Append clx

     tblnam.Columns.Append "DataField",130,20

     cat.Tables.Append tblnam

     Set clx = Nothing

     Set cat = Nothing

     cn.Close

     Set cn = Nothing

End Sub

call GenAutoIncrementFld

===================================

字段类型对应数值

程序代码

''---- DataTypeEnum Values ----

Const adEmpty = 0

Const adTinyInt = 16

Const adSmallInt = 2

Const adInteger = 3

Const adBigInt = 20

Const adUnsignedTinyInt = 17

Const adUnsignedSmallInt = 18

Const adUnsignedInt = 19

Const adUnsignedBigInt = 21

Const adSingle = 4

Const adDouble = 5

Const adCurrency = 6

Const adDecimal = 14

Const adNumeric = 131

Const adBoolean = 11

Const adError = 10

Const adUserDefined = 132

Const adVariant = 12

Const adIDispatch = 9

Const adIUnknown = 13

Const adGUID = 72

Const adDate = 7

Const adDBDate = 133

Const adDBTime = 134

Const adDBTimeStamp = 135

Const adBSTR = 8

Const adChar = 129

Const adVarChar = 200

Const adLongVarChar = 201

Const adWChar = 130

Const adVarWChar = 202

Const adLongVarWChar = 203

Const adBinary = 128

Const adVarBinary = 204

Const adLongVarBinary = 205

Const adChapter = 136

Const adFileTime = 64

Const adPropVariant = 138

Const adVarNumeric = 139

Const adArray = &H2000

=====================================

在已有数据库中创建表  

<% set conn=server.CreateObject("adodb.connection")  

sql="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("BOOK.mdb")  

conn.open sql  

Conn.Execute("create table bbb(id AUTOINCREMENT(1,1),p_id text(100),ee money,ff datetime default date(),gg guid,hh single default 50,ii double,jj smallint,kk long,ll image,mm memo,oo yesno not null,pp TINYINT,qq numeric(18,4),aa binary,bb bit,cc smallint,)")  

%>  

'将a表另外复制一个b表(只复制结构,不含数据)  

  <%  

  Set rs= Server.CreateObject("ADODB.Recordset")  

  sql="select * into b from a where 1=0"  

  rs.open sql,conn,1,1  

  rs.update  

  rs.close  

  set rs=nothing  

  %>  

  ◆'将a表另外复制一个b表(包括制结构和数据)  

  <%  

  Set rs= Server.CreateObject("ADODB.Recordset")  

  sql="select * into b from a  

  rs.open sql,conn,1,1  

  rs.update  

  rs.close  

  set rs=nothing  

  %>  

新建数据库并新建表  

<%    

'首先建立一个数据库文件    

set  conn=server.createobject("adox.catalog")    

conn.create  "provider=microsoft.jet.oledb.4.0;"&"data source="&server.mappath("lifeda1.mdb")    

%>    

<%    

'向该数据库中建立相应表格    

set  rs=server.createobject("adox.table")    

'该表格名称    

rs.name="aaaa"    

'该表格字段(字段类型见相关附录)    

rs.columns.append  "id" ,3  

rs.columns.append  "liuyan",203      

rs.columns.append  "dt",7    

conn.tables.append  rs    

set  rs=nothing    

%>    

至此,表格建立完毕。希望能对您有帮助。    

字段类型附录    

203  备注    

7  日期/时间    

128  二进制    

11  布尔    

6  货币    

133  日期    

134  时间    

135  日期时间    

5  双精度    

4  单精度   

3  数字   

204  二进制    

202  字符串