vb中sql语句ddl,dcl等语言该如何使用操作。
如要在程序中增加某张表的一个字段应该怎么来做,新建一张表,删除一张表,修改表结构等又该如何来做?
如要在程序中增加某张表的一个字段应该怎么来做,新建一张表,删除一张表,修改表结构等又该如何来做?
解决方案 »
- access数据库如何存储文件呢?
- 想做个小程序,感兴趣的进来看看
- VB打包后安装,各个窗体执行时背景变成黑色(编译状态和用EXE文件执行都不会),为什么! 请大侠菜鸟都来指点迷津!
- 高分求助:把WAV文件转换成MP3格式的文件。
- 求代码--如何实现按鼠标右键实现ctrl+c
- vb中listviewitem对象怎么初始化?
- 如何创建一个文件夹,首先判断文件夹是否存在,如存在则不用创建,不存在就创建一个.....急用在线等
- 为什么datagrid控件不能更新,新增,删除记录呀
- 高分求购:谁手头有动态规划的求最短路径的程序?
- datareport问题。
- VB中如何使用未安装的字体?
- VB中怎么引用VXD呢?
新建表用: Create table Tablename ...
删除一张表用:DROP TABLE Tablename
修改表结构用: ALTER TABLE Tablename ...
这些语句我几年前就接触了。我不知道在vb里面该怎么控制这些语句。用open?还是用execute?(试过好像都不行哦)抑或用其他的语句?
On Error GoTo errHandlerr
Dim cSql As String
Dim adoCnnn As New ADODB.Connection
With adoCnnn
.ConnectionString = "Provider=SQLOLEDB.1; Data Source=LIBINGAO; Initial Catalog=ResearchData; UID=sa;PWD=;" 'Integrated Security=SSPI;Persist Security Info=False;"
.Open
If .State = adStateOpen Then '以正确连接上服务器 LIBINGAO 上的数据库 ResearchData
.IsolationLevel = adXactReadCommitted
.BeginTrans
cSql = "INSERT INTO AA (ID,Name) VALUES (10, '北方岛')"
.Execute cSql, , adCmdText
cSql = "UPDATE AA SET Name='华仙子' WHERE ID=10"
.Execute cSql, , adCmdText
cSql = "DELETE FROM AA WHERE ID=10"
.Execute cSql, , adCmdText
.CommitTrans
Else
MsgBox "SQL Server 数据库连接失败 !", vbCritical, MsgBoxTitle
Exit Sub
End If
End With
Exit Sub
errHandlerr:
adoCnnn.RollbackTrans
MsgBox Err.Description + ":" + CStr(Err.Number), vbCritical, "有错误发生 ..."End Sub
我要求的是如何在程序中执行ddl语言,如建表(create),删表(drop),修改(alter)表结构等。
sFileName & ";Persist Security Info=False"cn.Execute "CREATE TABLE Employees " _
& "(FirstName TEXT, LastName TEXT);"cn.Execute "ALTER TABLE Employees " _
& "ADD COLUMN Salary CURRENCY;"cn.Execute "DROP TABLE Employees;"cn.Close
et cn = Nothing
Public Sub ExSql(sql As String)
'执行sql语句
dim cn as string
Dim com As ADODB.Command
Set com = New ADODB.Command
cn="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=oa"
com.ActiveConnection = cn
com.CommandText = sql
com.Execute
End Sub
你们上面的有没有经过调试?
On Error GoTo errHandlerr
Dim cSql As String
Dim adoCnnn As New ADODB.Connection
With adoCnnn
.ConnectionString = "Provider=SQLOLEDB.1;Data Source=LIBINGAO;Initial Catalog=ResearchData; UID=sa;PWD=;"
.Open
If .State = adStateOpen Then '以正确连接上服务器 LIBINGAO 上的数据库 ResearchData
.IsolationLevel = adXactReadCommitted
.BeginTrans
cSql = "CREATE TABLE AA (ID int,Name varchar(20),Age float)"
.Execute cSql, , adCmdText cSql = "INSERT INTO AA (ID,Name,Age) VALUES (10, '北方岛',20)"
.Execute cSql, , adCmdText
cSql = "UPDATE AA SET Name='华仙子' WHERE ID=10"
.Execute cSql, , adCmdText
cSql = "DELETE FROM AA WHERE ID=10"
.Execute cSql, , adCmdText
cSql = "ALTER TABLE AA ADD TEL varchar(20)"
.Execute cSql, , adCmdText
cSql = "ALTER TABLE AA DROP COLUMN TEL"
.Execute cSql, , adCmdText
cSql = "DROP TABLE AA "
.Execute cSql, , adCmdText
.CommitTrans
.Close
Else
MsgBox "SQL Server 数据库连接失败 !", vbCritical, MsgBoxTitle
Exit Sub
End If
End With
Exit Sub
errHandlerr:
If adoCnn.State = adStateOpen Then
adoCnnn.RollbackTrans
adoCnn.Close
End If
MsgBox Err.Description + ":" + CStr(Err.Number), vbCritical, "有错误发生 ..."End Sub
以上语句 VB6.0 + SQL Server2000 测试通过!
不过,在你实际测试中,应该将建表、添加记录、更新记录、删除记录、添加字段、删除字段和删除表放在不同的事务中,这样你可以在 SQL Server 中看到实际的运行结果!否则,程序运行时虽不报错,当由于在同一个事务中包含了上面的所有操作,等到事务结束时,所做的全部操作由于后面的 “删除字段和删除表” 操作导致全被删除!
且记!
只需将连接字符串改一下即可
请楼主试试!