加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB 连接Oracle数据库

发布时间:2020-12-16 22:21:13 所属栏目:大数据 来源:网络整理
导读:Option ExplicitPublic cn_base As New ADODB.Connection Function conn_base() ' 公共的函数 用来获取数据库的连接Err.ClearOn Error Resume Next If cn_base.State 0 Then cn_base.Close End If cn_base.ConnectionString = "file name=" + App.Path + "o
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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读