首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

ADO 讀取 TEXT/NTEXT 欄位失敗原因與解決:Execute vs Open 差異

     編輯:關於SqlServer

使用 ADO 讀取 TEXT/NTEXT 大型欄位時,Connection.Execute 回傳的 Recordset 無法取得內容,改用 Recordset.Open 即可正常讀取。原因在於 Execute 針對大型物件(BLOB)僅回傳指標/索引,而 Open 會完整提取資料流。建議:列表查詢(僅需標題/索引)用 Execute 提升效能;需顯示完整內容時用 Open。

驗證方法

比較兩種方式取得 Recordset 的位元組大小,Open 方式會顯著較大(包含實際資料內容)。

程式碼對比

' 無法讀取 TEXT/NTEXT 內容
Set rs = conn.Execute("SELECT content FROM articles WHERE id=1")
Response.Write rs("content")  ' 空白或亂碼

' 正確讀取
rs.Open "SELECT content FROM articles WHERE id=1", conn, 1, 1
Response.Write rs("content")  ' 正常顯示
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved