我想用VB连接oracle,执行这一条更新update yong_a set b=1 where a = (控件test1填进去的数字)

diyyong 2012-01-09 05:23:12
只需执行这一条sql语句:update yong_a set b=1 where a = (控件test1填进去的数字),最好能用adodb连接
数据库是:diy 帐号:system 密码:1;小弟不才,看了两天VB连接oracle还是没弄懂,希望高手搭救!
希望能把整一个语句写下来让小弟研究研究
...全文
157 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Mirs 2012-01-11
Public CNADO As New ADODB.Connection
Public rs As New ADODB.Recordset
Public rs1 As New ADODB.Recordset
Dim sql As String
Dim connect As String
Function data_connection() As Boolean
On Error GoTo dataconnectionerr
Set CNADO = New ADODB.Connection
CNADO.Provider = "MSDAORA"
CNADO.ConnectionTimeout = 10
CNADO.CursorLocation = adUseClient
CNADO.Open "DATA SOURCE=diy;", "system", "1"
'CNADO.Open "DATA SOURCE=数据库;", "账号", "密码"
date_connection = True
Exit Function
dataconnectionerr:
MsgBox Err.Description
Data_Connect = False
End Function
Private Sub Command1_Click()
Call Command2_Click
End Sub

Private Sub Command2_Click()
On Error GoTo error1:
Set rs = New Recordset
sql = "" + Text1.Text + ""
rs.Open sql, CNADO, adOpenStatic
Set DataGrid1.DataSource = rs
Exit Sub
error1:
MsgBox "no table"
End Sub

Private Sub Form_Load()
data_connection
End Sub

引用这两个
忘记了,还要引用
Microsoft Data Environment instance 1.0
Microsoft ActiveX Data Objects 2.8 library
然后加一个控件textbox,一个DataGrid(用于显示数据),一个Command!
DataGrid控件是这个Microsoft Datagrid control 6.0(OLEDB)
然后在text1.text里输入你的SQL语句执行。!这样就可以了。!
回复
diyyong 2012-01-11
谢谢你,给了我莫大的帮助,成功了,得好好研究研究!
回复
Mirs 2012-01-11
昨天是忘记加这个了
Private Sub Form_Load()
data_connection
End Sub

是两个Command!
回复
Mirs 2012-01-10
忘记了,还要引用
Microsoft Data Environment instance 1.0
Microsoft ActiveX Data Objects 2.8 library
回复
diyyong 2012-01-10
[Quote=引用 9 楼 mirsvip 的回复:]
晚上把我写的完整代码给你。。。!
[/Quote]好的,谢谢,我这边将你刚才说的将账号密码弄反了一次,也是不行。
回复
Mirs 2012-01-10
晚上把我写的完整代码给你。。。!
回复
Mirs 2012-01-10
CNADO.Open "DATA SOURCE=diy;", "system", "1" 这个你确认下,不知道我有没弄反。!
回复
diyyong 2012-01-10
[Quote=引用 6 楼 mirsvip 的回复:]
显示no tabel表示已经连接了,你把sql = "update yong_a set b=1 where a ="+test1.text+""改成sql = "select * from tabs";如果显示有数据的话那就是你SQL写的有问题。。。。
[/Quote]我改成sql = "select * from tabs"之后,运行点击Command1控件之后还是提示:no table,不知道哪里出问题了
回复
Mirs 2012-01-10
显示no tabel表示已经连接了,你把sql = "update yong_a set b=1 where a ="+test1.text+""改成sql = "select * from tabs";如果显示有数据的话那就是你SQL写的有问题。。。。
回复
diyyong 2012-01-10
[Quote=引用 4 楼 mirsvip 的回复:]
忘记了,还要引用
Microsoft Data Environment instance 1.0
Microsoft ActiveX Data Objects 2.8 library
[/Quote]我将这段代码弄上去,控件datagrid加了,然后Microsoft Data Environment instance 1.0
Microsoft ActiveX Data Objects 2.8 library 也引用了,但它提示no table,SQL语句我在SQL查询可以查出来
回复
Mirs 2012-01-09
添加datagrid控件用于显示数据


Public CNADO As New ADODB.Connection
Public rs As New ADODB.Recordset
Public rs1 As New ADODB.Recordset
Dim sql As String
Dim connect As String
Function data_connection() As Boolean
On Error GoTo dataconnectionerr
Set CNADO = New ADODB.Connection
CNADO.Provider = "MSDAORA"
CNADO.ConnectionTimeout = 10
CNADO.CursorLocation = adUseClient
CNADO.Open "DATA SOURCE=diy;", "system", "1"
date_connection = True
Exit Function
dataconnectionerr:
MsgBox Err.Description
Data_Connect = False
End Function

Private Sub Command1_Click()
On Error GoTo error1:
Set rs = New Recordset
sql = "update yong_a set b=1 where a ="+test1.text+""
rs.Open sql, CNADO, adOpenStatic
Set DataGrid1.DataSource = rs
Exit Sub
error1:
MsgBox "no table"
End Sub

以前写的!
回复
diyyong 2012-01-09
[Quote=引用 1 楼 patrickkong 的回复:]

ODBC行不行?
[/Quote]嗯,也可以
回复
ODBC行不行?
回复
相关推荐
发帖

1184

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2012-01-09 05:23
社区公告
暂无公告