各位asp里面可以直接往数据库里面创建表,并为其添假字段吗?100分求!

enjsky 武汉瞬时科技有限公司 技术总监  2004-04-08 12:37:17
我在做一个系统,希望能动态的往数据库里面加表,做了下面的一个例子试了试发现不行,请各位高手回复一下,小弟谢了先:)

程序:

<!-- #include file="conn.asp" -->
<%
sql4="CREATE TABLE [news111] ([title] [char] (100) NULL ,[author] [char] (100) NULL ,[resource] [char] (100) NULL ,[classid] [char] (10) NULL ,[classname] [char] (10) NULL ,[content] [ntext] NULL ,[posttime] [datetime] NULL ,) GO"
conn.execute(sql4)
response.write "成功啊!"
%>
...全文
145 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
m1_1m 2004-04-16
注意字段的类型如ntext在access里是没有的
回复
m1_1m 2004-04-16
<%
sql4="CREATE TABLE [news111] ([title] [char] (100) NULL ,[author] [char] (100) NULL ,[resource] [char] (100) NULL ,[classid] [char] (10) NULL ,[classname] [char] (10) NULL ,[content] [ntext] NULL ,[posttime] [datetime] NULL)"
conn.execute(sql4)
response.write "成功啊!"
%>
回复
enjsky 2004-04-16
谢谢各位了!!
那在access里面像:自动编号,备注,货币等字段是怎么表示的啊?这个问题解决了就散分!

我已经知道了文本(char/text)时间(data)数字(short)
回复
enjsky 2004-04-08
我把go去掉了,多的一个,号也去掉了,还是不可以啊,权限是最高的
回复
enjsky 2004-04-08
谢谢各位,我在查询分析器里面可以用啊,没有问题,我是先在那里面运行对了再做的。
回复
孟子E章 2004-04-08
<%
' ************ 使用ADODB.Connect对象创建 ************************
Dim oConn
Dim sDatabaseName
sDatabaseName = "CodeCreateDB"
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=SQLOLEDB;Data Source=(local);User ID=sa;Password=;"
oConn.Execute "CREATE DATABASE " & sDatabaseName
%>
回复
孟子E章 2004-04-08
<%@ Language=VBScript %>
<%
' ******************* 使用 SQLDMO Object 对象库 *******************
Dim oSQLServer
Dim oDatabase
Dim oDBFileData
Dim oLogFile
Dim sDatabaseName
Dim sDatapath

'数据库名字
sDatabaseName = "CodeCreateDBTest"
'数据文件保存路径
sDatapath = "D:\"

'创建Sql Server对象并进行链接,(local)处为Server名字
Set oSQLServer = Server.CreateObject("SQLDMO.SQLServer")
' oSQLServer.LoginSecure = True ' 使用集成验证integrated security
' oSQLServer.Connect "(local)"
oSQLServer.Connect "(local)", "sa", "" ' 使用标准验证 standard security

' 创建Database对象
Set oDatabase = Server.CreateObject("SQLDMO.Database")
oDatabase.Name = sDatabaseName

' 创建db文件对象
Set oDBFileData = Server.CreateObject("SQLDMO.DBFile")
With oDBFileData
.Name = sDatabaseName & "_data"
.PhysicalName = sDatapath & "\" & sDatabaseName & "_data.mdf"
.PrimaryFile = True
.FileGrowthType = SQLDMOGrowth_MB
.FileGrowth = 1
End With

' 创建日志文件对象
Set oLogFile = Server.CreateObject("SQLDMO.LogFile")
With oLogFile
.Name = sDatabaseName & "_log"
.PhysicalName = sDatapath & "\" & sDatabaseName & "_log.ldf"
End With

'把DB文件对象和日志文件对象添加到DataBase数据库对象
oDatabase.FileGroups("PRIMARY").DBFiles.Add oDBFileData
oDatabase.TransactionLog.LogFiles.Add oLogFile

' 把数据库添加到Sql server(create the database)
oSQLServer.Databases.Add oDatabase

' 关闭连接
oSQLServer.Close

' 释放对象
Set oLogFile = Nothing
Set oDBFileData = Nothing
Set oDatabase = Nothing
Set oSQLServer = Nothing
%>
回复
vvfish119 2004-04-08
你的sql语句直接在查询分析器里能用吗?结果正确吗?
回复
FlashK 2004-04-08
多了个","吧。GO前面一点。
回复
redcard 2004-04-08
还有你的conn.asp里面的用户名要有建表的权限。
回复
redcard 2004-04-08
呵呵,把最后一行的go去掉,应该就可以了,不过你要动态的向数据库里面添加表最主要的是如何区分表名,你这样写当然表明会重复。
回复
enjsky 2004-04-08
谢谢各位,我在sql server里面成功了,可是一样的东西,在access里面就不行啊,不知道为什么,可能是字段和sqlserver里面的表示方法不一 样吧,那在access里面像:自动编号,文本,备注,时间等字段该怎么添加啊?这个问题解决了就散分!
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告