首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

VBScript ADO 查詢單值賦值給變量:Recordset 獲取字段值完整示例

     編輯:程式設計綜合問答

正確代碼模板

' 方式一:Connection.Execute 返回 Recordset
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=SQLOLEDB;Data Source=.;Initial Catalog=TestDB;UID=sa;PWD=123"

Set rs = conn.Execute("SELECT TOP 1 UserName FROM Users WHERE Id = 1")
If Not rs.EOF Then
    Dim userName
    userName = rs("UserName").Value  ' 或 rs.Fields("UserName").Value
    MsgBox "用戶名: " & userName
Else
    MsgBox "無記錄"
End If
rs.Close
conn.Close

' 方式二:Recordset.Open 靜態游標
Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT UserName FROM Users WHERE Id = 1", conn, 1, 1  ' adOpenKeyset, adLockReadOnly
If Not rs.EOF Then
    MsgBox rs("UserName")
End If
rs.Close

關鍵點

  • Set 關鍵字:對象賦值必須用 Set rs = ...,漏寫導致「語句未結束」語法錯。
  • EOF 判斷:If Not rs.EOF Then 確保有記錄再讀取字段。
  • 字段取值:rs("ColumnName") 返回 Field 對象,再取 .Value 屬性(默認屬性可省略)。
  • 關閉釋放:用完 rs.Close、conn.Close,釋放數據庫連接。
  • 游標類型/鎖類型:1, 1 (adOpenKeyset, adLockReadOnly) 適合單次讀取;只讀可用 3, 1 (adOpenStatic, adLockReadOnly)。

常見語法錯誤對照

錯誤寫法正確寫法原因
rs=conn.Execute(...)Set rs = conn.Execute(...)對象賦值缺 Set
if not rs.eof then msgbox rs("name")If Not rs.EOF Then MsgBox rs("name") : End IfVBScript 單行 If 需冒號分隔,多行需 End If
rs.open SQL,conn,1,1rs.Open SQL, conn, 1, 1方法名大小寫、參數逗號分隔

總結

VBScript ADO 查單值:**Set 對象賦值、EOF 判斷、rs("字段名").Value 取值、Close 釋放**。模板代碼可直接複製適配連接字符串與 SQL 即用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved