救人啊!!!我用500分解决这样一个关于通过MSSQL APIs读varChar类型数据的问题!!!(另300分入内)(200分)

  • 主题发起人 主题发起人 aimingoo
  • 开始时间 开始时间
A

aimingoo

Unregistered / Unconfirmed
GUEST, unregistred user!
另300分在:
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=456662
问题是一样的,一次给不了500分,只好分两次给了。
我急用,手边的程序就要交货了,却发现这个问题!!!各位请救命!!!
请尽可能快回复,谢谢。
====================================================
如果需要,你可以先下载这套APIs的声明接口:
ftp://delphi-jedi.org/api/mssqlsrv.zip
在MSSQL Client中,使用DBBIND()只能在varChar中获取256字节的数据,因为它将varChar
当成CHAR处理。
有没有什么方法能够一次取出全部的数据呢???
下面这个软件就是调用MS Client APIs得到的,我想一定有办法!!!(软件在国外受限站点,
你可能无法下载,请用代理。)
http://www.geocities.com/laplassoft/data/sqlexecms.zip
 
我自己已经搞定了!
哈哈。
真他妈的难!
实际上,这个必须用MEMO来处理。DB-Libray从6.5版本以来就一直没有改过,而ODBC为了适应SQL 7/2000中出现的新的数据类型和对原数据类型的扩展,都是通过"内置转换"来处理的。
用BDE引擎打开一个带Varchar(260)及更长的变长字串字段来看,就明白了:这已经被转换成了memo类型。你必须将它作为一个text来处理。
我改写了mssql client接口,通过二次处理,将varchar转换成text类型返回,从而解决了varchar超长字符串的问题。就目前来看,可能只有这样一种方法了。ODBC内部也是这样处理的。
另外,bcp函数集只能处理"服务器表-->本地文件"的绑定,而不能处理"服务器表-->本地程序变量"的绑定。所以不能用来解决问题。
问题的解决方案已经给出来了。分呢,大家都没得。哈哈哈。
有什么方法还给我呢???
 
叫斑竹把份再分给你
 
aimingoo:请自己提前或结束帖子,谢谢合作!
 
哎,很久来不了大富翁,现在终于来分钱了。不知道该如何分,只好见者有份了。哈哈~~~~~~~
 
后退
顶部