VB 连接Oracle数据库

Option Explicit
Public cn_base As New ADODB.Connection   


Function conn_base()      ' 公共的函数 用来获取数据库的连接
Err.Clear
On Error Resume Next
  If cn_base.State <> 0 Then
    cn_base.Close
  End If
  cn_base.ConnectionString = "file name=" + App.Path + "\oracle.udl"
  cn_base.Open
  If Err.Number <> 0 Then
    MsgBox "连接基地数据库失败 "
  End If
End Function

 

'保存按钮单击事件 即点击了保存按钮以后执行的事件函数
Private Sub Add_Click()

 Dim qxxh As String     '声明变量 qxxh 用来存放Text1控件输入的字符串
 Dim qxjdlx As String   '声明变量 qxjdlx 用来存放Text2控件输入的字符串

 qxxh = Text1.Text    '以下这两行是把Text控件中输入的内容赋给 这两个变量。
 qxjdlx = Text2.Text

 
 
 Dim ss
 ss = conn_base()        '获得连接数据库的对象。
 Dim sql As String  '声明变量sql 用来下面存放sql语句。
 Dim Rs As ADODB.Recordset '声明操作数据看用的 rs 对象
 Set Rs = New ADODB.Recordset 得到记录set
 
 Rs.CursorType = adOpenKeyset 
 Rs.LockType = adLockOptimistic 
 Rs.CursorLocation = adUseClient

 sql = "Insert Into ywxz_fcgj_js_zjqx(id,qxxh,qxjdlx) values ('56','" + qxxh + "','" + qxjdlx + "') '插入数据需要用到的sql语句,56为id 在这里写死了。 qxxh qxjdlx 这两个字段即为上面声明的两个变量值即我们输入文本框的值。

 Rs.Open sql, cn_base   '执行上面的sql语句。执行插入数据的操作。
    
End Sub

'窗体的加载事件,每当窗体(软件打开的时候 ,首先执行此方法,此方法一般用来做初始化来用。)
Private Sub Form_Load()
 
 '下面这一段 是连接数据库时的操作 。得到连接数据库时候用到的一些对象。
 Dim ss
 ss = conn_base()
 Dim sql As String
 Dim ii As Integer
 Dim Rs As ADODB.Recordset
 Set Rs = New ADODB.Recordset
 Rs.CursorType = adOpenKeyset
 Rs.LockType = adLockOptimistic
 Rs.CursorLocation = adUseClient

  
 sql = " select * from ywxz_fcgj_js_zjqx "
 Rs.Open sql, cn_base
 Label1.Caption = Rs.Fields(1) '这是当窗体加载的时候   查询数据库中的表  返回结果集 中取第一个字段的第一个记录

End Sub

 


 

 

 

 

第二种方法:

 

 

Public strConn As String
Public strSQL As String
Public curConnection As ADODB.Connection
Public rs  As ADODB.Recordset

Sub Main()
    Dim strds As String
    strds = Chr(34) & "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.12.184)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=oracle)))" & Chr(34)
    
    strConn = "Provider=MSDAORA.1;Password=oracle;User ID=system;Data Source=" & strds & ";Persist Security Info=True"
    Set curConnection = New ADODB.Connection
    Set rs = New ADODB.Recordset
    curConnection.CursorLocation = adUseClient
    curConnection.Open strConn

  strSQL = "select * from T_PW_USER"
  rs.Open strSQL, curConnection, adOpenStatic, adLockReadOnly
     Set DataGrid1.DataSource = rs
    DataGrid1.Refresh
    
  If Not rs.EOF() Then
    rs.MoveFirst
    Combo1.Clear
    Combo1.Text = "用户列表"
    Do While Not rs.EOF And Not rs.BOF()
      Combo1.AddItem (rs.Fields(0))
      rs.MoveNext
    Loop
  End If
 
  rs.Close
End Sub

Private Sub Command1_Click()
Main
End Sub



工程 - 引用 Microsoft ActiceX Data Objects.x中的一个library.

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值