能否使用ADO生成SQL7.0的表和字段
编号:QA001802
建立日期: 1999年10月2日 最后修改日期:2000年11月29日
所属类别:
mj:
vb6.0,sql7.0
nt4.0
能否使用ADO生成SQL7.0的表和字段?如果不能,是否有其他方法在VB6.0中生成SQL7.0的表和字段?记得DAO中能生成,但烦?请指教,谢谢!
回答:
于溪玥的解答
其实是 T-SQL 语法问题,可参阅 Transact-SQL Help
"Create Table..." "ALTER TABLE ..."
也可以引用 Microsoft ADO Extensions for DDL and Security (ADOX)
Dim adoConnection As New ADODB.Connection
adoConnection.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Data Source=ServerName"
'建库
'可参阅《使用ADO接口管理 SQL Server 数据库及其设备》
' (http://www.computerworld.com.cn/98/skill/98/980810_05.html )
' 及 Transact-SQL Help
adoConnection.Execute "CREATE DATABASE MyTestDB ON ( NAME =MyTestDB_dat, FILENAME = 'c:\mssql7" \data\MyTestDB.mdf',SIZE =4,MAXSIZE = 10,FILEGROWTH = 1 )"
'连库
adoConnection.DefaultDatabase = "MyTestDB"
'建表及字段
adoConnection.Execute "CREATE TABLE FirstTable (FirstName TEXT, LastName TEXT)"
'改表结构
adoConnection.Execute "ALTER TABLE FirstTable ADD NewCol INT"
'引用 ADOX
Dim CatalogX As New ADOX.Catalog
Dim TblX As New ADOX.Table
<b> 'ADOX 不能建 Ms SQL Server 7.0 库,能建表及字段等</b>
Set CatalogX.ActiveConnection = adoConnection
TblX.Name = "Tbl1" '建表对象
TblX.Columns.Append "fld1", adInteger
CatalogX.Tables.Append TblX '为数据库加新表
可使用Microsoft ADO Extensions for DDL and Security (ADOX) 来完成创建表、修改字段等要求。该功能包括在最新的MDAC 2.1或以后的版本中。
jiangjianxiao的解答
在VB项目中建立对Microsoft ADOExt.2.1 for DDL and Security(文件名为MSADOX.Dll)的引用后,下列代码演示在SQL Server 7.0的Pubs数据库中增加一个名为Test,包含一个名为Column1,类型为varChar,大小为50列的表。
例子代码:
Dim objPubs As New Connection
Dim objCatalog As New ADOX.Catalog
Dim objTable As New ADOX.Table
objPubs.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=(local)"
objPubs.Open
Set objCatalog.ActiveConnection = objPubs
objTable.Name = "Test"
objTable.Columns.Append "Column1", adVarChar, 50
Call objCatalog.Tables.Append(objTable)
更详细的信息,请参阅ado帮助(当前文件名为ado210.chm)
Spencer Yang的意见:
请到纪文和网站 VB入门网
http://www.vbguide.com.tw/webback.asp
看看「个个击破」 单元中拙著的
---------------------------------------
361 如何使用 ADOX 物件新增资料库、新增资料表?
---------------------------------------
此问题由于溪玥等回答。
| |
|
|
| |
|
|