在VB6 IDE中检查长字符串的完整值

8
我有一个字符串'sSQL',其中包含一个非常长的tsql语句。在调试时,我需要检查它的值。通常我只是在立即窗口中使用?sSQL,但这会截断前半部分并仅给出后半部分。
那么,在vb6 sp5开发环境中是否有其他方法可以查看完整的值?
6个回答

15

进行调试时,Clipboard.Clear: Clipboard.SetText ssql 然后将其粘贴到记事本中。


9
在断点处暂停执行时,您可以在立即窗口中键入:
Debug.Print(sSql)

;-)


我知道这是一个旧帖子,但我无法相信它有赞。原帖作者说他们的问题是在使用?sSQL时输出被截断了。?sSQL是Debug.Print(sSQL)的别名,因此这将提供完全相同的结果。 - David Thompson
七年之后,破产了。 - scor4er

7

一种方法是将字符串写入文件。您可以使用行延续在立即窗口中以单行方式执行此操作,例如:

Open "C:\SQL.TXT" For Append As #1: Write #1,sSQL : Close #1

注意:根据您的操作系统,您需要更改 C:\SQL.txt 为一个您可以写入的路径。

5
如果文本非常长,请将其保存到文本文件中。编写一个调试方法:
sub SaveStringToDebugFile(s as string)
  ...
end sub

然后从即时窗口调用它:

SaveStringToDebugFile sSQL

我最终只能这样做,多亏了令人恼火的VB6限制。 - Richy321

2

额,立即窗口不会截断(除了在200行1023个字符处)。你试过按Home键或向左滚动吗?


3
如果你有一个200KB的SQL语句,那么你肯定有更大的问题了... :p - Deanna
它超过了200行,因此不会截断...我正在处理移动存储过程。 200k假设每行都充满字符,这当然是不可能的。 - Richy321
不要在字符串中加入新行 :)(或?replace(ssql,vbcrlf," ") - Deanna

1

使用Immediate检查“long”字符串的长度:

?len(sSQL)
 4221 

然后,知道字符串的大小后,您可以使用Mid函数开始获取字符串的块:

?Mid(sSQL, 1, 500)

?Mid(sSQL, 500, 1000)

?Mid(sSQL, 1000, 1500)

好主意,但这个有14288个字符,可能会有点麻烦。 - Richy321

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接