ASP操作ACCESS结构

2009-02-28T11:10:00

由于项目需求,我需要使用ASP来操作ACCESS数据库的结构。起初,在网上查询相关资料时,发现不少人对ACCESS数据库的评价不高,认为它功能有限。在ASP环境中,不仅数据库表改名困难,创建新表和新字段的操作也颇为繁琐,甚至有人断言无法对其进行改名等操作,建议直接更换数据库。

但经过一番探索,我发现ASP其实可以通过组合使用一些语句,实现其他SQL数据库的部分基本功能。尽管这些功能远不及MySQL、MSSQL强大,但对于一般的数据库结构升级和优化而言,已然足够。

一、创建新表

conn.execute("CREATE TABLE reason(学院名 varchar(20),分析日期 varchar(50),原因1 varchar(255),原因2 varchar(255))")

通过上述语句,能够创建一个名为reason的新表。该表包含“学院名”“分析日期”“原因1”“原因2”这四个字段,其中“学院名”字段类型为varchar(20),可存储20个字符长度的字符串;“分析日期”字段类型为varchar(50);“原因1”和“原因2”字段类型均为varchar(255) ,可存储较长的字符串内容。

二、修改表结构

(一)添加字段

conn.execute("alter table tdd add [户口迁移] text(4) ")

此语句用于在tdd表中添加一个名为“户口迁移”的字段,字段类型为text(4),即最多可存储4个字符的文本数据。

(二)删除字段

conn.execute("alter table tdd drop [校区] ")

通过这条语句,能够从tdd表中删除名为“校区”的字段。

三、字段重命名(通过临时中转)

conn.execute("alter table [logo] add [lqh_temp] text(50)") 
conn.execute("update [logo] Set lqh_temp=[lqh] ")
conn.execute("alter table [logo] drop [lqh]")
conn.execute("alter table [logo] add [学号] text(50)")
conn.execute("update [logo] Set 学号=[lqh_temp]")
conn.execute("alter table [logo] drop lqh_temp")

logo表中,若要将“lqh”字段重命名为“学号”,可通过上述一系列操作实现。首先添加一个临时中转字段lqh_temp,其类型为text(50)。接着,使用update语句将“lqh”字段的数据复制到lqh_temp字段中。然后删除“lqh”字段,再添加名为“学号”的新字段。最后,将lqh_temp字段的数据复制到“学号”字段,并删除lqh_temp字段,从而完成字段的重命名。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »