【问题标题】:ADODB.Stream Arguments are of the wrong type, are out of acceptable range, or are in conflict with one anotherADODB.Stream 参数类型错误、超出可接受范围或相互冲突
【发布时间】:2015-08-27 16:37:44
【问题描述】:

如果text = "" 创建内容= userval 的新文件,我想创建新文件,但如果Len(text) > 0 然后我想找到现有文件并在其中更改此文本,因此如果不存在则将文本和userval 添加到现有内容。

Public Property Let val(text,userval)
  'on error resume next
  Dim strText, strResult, strChange
  If Len(text) >0 then
    strChange = False

    stream.open
    stream.loadfromfile strAbsFile
    strT = stream.readtext
    splArr = split(strText,"^")
    on error resume next
    For i = 0 to Ubound(splArr)
      splArrFields = split(splArr(i),"|") 
      If splArrFields(0) = text Then strChange = Replace(strText,splArrFields(0) & "^" & splArrFields(1),splArrFields(0) & "^" & userval)  'change value if exists
    Next
    If strChange Then strResult = strChange Else strResult = strT & "|" text & "^" & userval ' add text and value 
    stream.close
  Else
    strResult = userval
  End If
  response.write  "text" & VarType(text) & " userval" & VarType(userval) & " strResult" & VarType(strResult) ' text8 userval8 strResult8
  stream.open
  stream.writetext mycstr(strResult)
  for err11 = 0 to 50
    stream.savetofile strAbsFile, 2
    if Err.Number = 0 then exit for
    Err.Clear
  next

  stream.close
End Property

但我得到一个错误:

错误:3001
错误(十六进制):BB9
来源:ADODB.Stream
描述:参数类型错误、超出可接受范围或相互冲突。

我认为问题线是stream.savetofile strAbsFile, 2

怎么了?

【问题讨论】:

  • 哪一行引发了错误?
  • 我不知道我在浏览器中查看,也不知道如何调试
  • 在所有相关声明中添加error handling
  • 在我的情况下,只有这个 devguru.com/technologies/vbscript/14019 .Line 和 .Text 不适合我
  • 我认为stream.savetofile strAbsFile, 2这一行

标签: vbscript stream ado


【解决方案1】:

尝试在您设置此文件路径的地方声明Private strAbsFile

【讨论】:

    猜你喜欢
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    相关资源
    最近更新 更多