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.