我想用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还是没弄懂,希望高手搭救!
希望能把整一个语句写下来让小弟研究研究
...全文
221 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
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行不行?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧