I.はじめに
1。目的
この記事では、VB.NetがOracleに接続してOleDbConnectionを介してデータをクエリし、データをTextBox1に表示することを認識しています。
2.データベースバージョン
select * from v $ version;
バナー | |
1 | Oracle Database 11g EnterpriseEditionリリース11.2.0.1.0-64ビット本番 |
2 | PL / SQLリリース11.2.0.1.0-本番 |
3 | CORE11.2.0.1.0プロダクション |
4 | 64ビットWindows用TNS:バージョン11.2.0.1.0-本番環境 |
5 | NLSRTLバージョン11.2.0.1.0-本番 |
3.IDEバージョン
Microsoft Visual C ++ 2019
第二に、ソースコード
1.ページデザイン
2.イベントをクリックして、データベースにクエリを実行します
Imports System.Data.OleDb
Public Class oracleDemo
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'创建数据库连接
Dim oleDbCon As New OleDbConnection
'连接字符串192.168.31.55
Dim conStr = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=orcl)))"
oleDbCon.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=" + conStr +
";user id=scott;password=root"
'Command 对象提供执行 SQL命令的功能
Dim oleDbCmd As New OleDbCommand()
'打开连接
oleDbCon.Open()
'设置 Command 对象的连接属性
oleDbCmd.Connection = oleDbCon
'定义sql
Dim sql = "select 'aa' from dual"
'查询真正的数据库
sql = "SELECT * FROM EMP --where empno = '7369'"
oleDbCmd.CommandType = CommandType.Text
'设置查询语句
oleDbCmd.CommandText = sql
'DataReader 对象提供只读方式的数据对象
Dim dataRd As OleDbDataReader
'查询数据
dataRd = oleDbCmd.ExecuteReader()
Dim a = "返回结果:"
'这样只能查询出第一条结果
'If dataRd.Read() Then
' a += CStr(dataRd.GetValue(0))
'Else
' MsgBox("错误")
'End If
'这样能查询出全部数据
While dataRd.Read = True
a += CStr(dataRd.GetValue(0))
'TextBox1.Text.Append(str)
a += ","
End While
'在TextBox1中显示显示查询结果
TextBox1.Text = a
dataRd.Close()
oleDbCon.Close()
End Sub
End Class
3、テスト
四、注意が必要な事項
1.例外:「OraOLEDB.Oracle」プロバイダーがローカルコンピューターに登録されていません
この例外が次のように処理されるようにプロンプトを表示します
[プロジェクト]-> [プロパティ]-> [コンパイル]をクリックし、[32ビット(P)を優先する]のチェックを外します