• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • QTP連接oracle并操作數據庫的方法

    發表于:2012-05-04來源:測試窩作者:胡志超  點擊數: 標簽:qtp
    QTP連接oracle并操作數據庫的方法這里以oracle 9i為例子,其他的數據庫連接方法是相通的。 a.首先要在本機建議ODBC數據源,這個屬于基本操作,這里不講,跳過;

      QTP連接oracle并操作數據庫的方法這里以oracle 9i為例子,其他的數據庫連接方法是相通的。

      a.首先要在本機建議ODBC數據源,這個屬于基本操作,這里不講,跳過;

      b.獲取oracle的連接串的方法,在本地新建一個.txt文件,修改擴展名名*.udl,雙擊*.udl文件,打開數據庫鏈接屬性,定位到“提供程序”選顯卡,選中 oracle的連接 oracle provider for OLE DB,點擊下一步,輸入數據源,數據庫用戶名以及密碼,點擊測試連接,然后用UE或記事本打開*.udl文件,oracle的連接串已經生成了,例如

      Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=test;Data Source=192.168.13.19

      以上就是udl文件生成的oracle連接串

      現在我們需要手動添加一個oracle連接串的密碼字段Password,插入到User ID后面,中間用分號隔開;

      即 Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=test;;Password=test;Data Source=192.168.13.19

      c.在qtp中來連接數據庫

      Dim Cnn '定義一個數據庫連接串

      Set Cnn = CreateObject("ADODB.Connection")

      Cnn.ConnectionString ="Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=test;Password=test;Data Source=31"

      Cnn.Open '打開數據庫連接

      If Cnn.State = 0 Then '判斷數據庫連接是否成功

      Reporter.ReportEvent micFail, "testing", "連接數據庫失敗"

      else

      Reporter.ReportEvent micPass, "testing", "連接數據庫成功"

      End If

      if Cnn.State<> 0 then

      Set Rs=CreateObject("ADODB.Recordset") '生成記錄集對象

      strsql ="Select * from t_sys_user" '從數據庫中查詢t_sys_user的所有記錄

      Rs.Open strsql ,Cnn,1,3 '執行sql語句,記錄可以自由移動,單數記錄處于只讀模式

      ydl=Rs("USER_ID") '取得字段為USER_ID的記錄,游標定義在第一行,所以取得的是該字段所在行的第一行數據

      msgbox ydl

      dim a

      a="1188" '該a的數據庫可以從外部獲取,可以是某個頁面的某個值,拿來跟數據庫中的值做比較

      for i=1 to Rs.Recordcount '開始遍歷數據庫中所有的行數,Rs.Recordcount表示統計數據庫表的總記錄數

      if Rs("USER_ID")=a then '將數據庫中USER_ID字段的值與變量a進行挨個比較,

      msgbox "a在數據庫中存在"

      exit for '如果找到記錄a,則推出for循環

      else

      Rs.MoveNext '如果數據庫中的值與a不相等的話,那么在數據庫中將游標移到下一行

      end if

      next

      end if

      RS.close '關閉記錄集

      Set RS=nothing '釋放對象

      Cnn.Close '關閉數據連接

      Set Cnn=nothing '釋放對象

      另外,如果要判斷游標是否到最好一行,則用

      For i=1 to Rs.Recordcount

      If Rst.EOF Then

      msgbox "已經達到數據庫最后一行記錄"

      Exit for

      else

      Rst.MoveNext

      End If

      Next

      、RecordSet對象的詳細用法

      RecordSet對象(代表來自基本表或命令執行結果的記錄的全集。)

      為了更精確地跟蹤數據,要用RecordSet組件創建包含數據的游標,游標就是儲存在內存中的數據:

      rs = Server.CreateObject("ADODB.RecordSet")

      rs.Open(sqlStr,conn,1,A)

      RS.OPEN SQL,CONN,A,B

      A:

      ADOPENFORWARDONLY(=0)

      只讀,且當前數據記錄只能向下移動

      ADOPENKEYSET(=1)

      只讀,當前數據記錄可自由移動

      ADOPENDYNAMIC(=2)

      可讀寫,當前數據記錄可自由移動

      ADOPENSTATIC(=3)

      可讀寫,當前數據記錄可自由移動,可看到新增記錄

      B:

      ADLOCKREADONLY(=1)

      缺省鎖定類型,記錄集是只讀的,不能修改記錄

      ADLOCKPESSIMISTIC(=2)

      悲觀鎖定,當修改記錄時,數據提供者將嘗試鎖定記錄以確保成功地編輯記錄。只要編輯一開始,則立即鎖住記錄。

      ADLOCKOPTIMISTIC(=3)

      樂觀鎖定 ,直到用Update方法提交更新記錄時才鎖定記錄。

      ADLOCKBATCHOPTIMISTIC(=4)

      批量樂觀鎖定,允許修改多個記錄,只有調用UpdateBatch方法后才鎖定記錄。

      當不需要改動任何記錄時,應該使用只讀的記錄集,這樣提供者不用做任何檢測。

      對于一般的使用,樂觀的鎖定可能是最好的選擇,因為記錄只被鎖定一小段時間,

      數據在這段時間被更新。這減少了資源的使用。

      在RecordSet組件中,常用的屬性和方法有:

      rs.Fields.Count:RecordSet對象字段數。

      rs(i).Name:第i個字段的名稱,i為0至rs.Fields.Count-1

      rs(i):第i個字段的數據,i為0至rs.Fields.Count-1

      rs("字段名"):指定字段的數據。

      rs.RecordCount:數據記錄總數。

      rs.EOF:是否最后一條記錄。

      rs.MoveFirst:指向第一條記錄。

      rs.MoveLast:指向最后一條記錄。

      rs.MovePrev:指向上一條記錄。

      rs.MoveNext:指向下一條記錄。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>