J
Jao
Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi写了一个ISAPI,SQL Server6.5做后台数据库。在其中有一条SQL语句:
Insert mTable(mField) ValuesmField) {mField是一个Text字段}
然后用
Query.ParamByName('mField').AsString := 一个长度大于255的字串;
结果发现一个奇怪的问题:
1、当向一个Text字段insert一条记录时,发现只要长度大于255的字符都会变成乱码。而直接在SQL的Enterprise Manager中向数据库中insert记
录,虽然没有乱码,但是后面的字符全部被砍掉了。
2、如果用一个TDBMemo向表中直接写入这个长串,则没有任何问题,说
明SQL Server的Text字段应该没Bug;
3、在ISAPI中Debug这个Query.ParamByName('mField').AsString,其中的
内容没有问题,说明错也不在Delphi;
这就怪了,谁都没错,难不成只有我错了?请大家帮忙看看怎么回事?
Insert mTable(mField) ValuesmField) {mField是一个Text字段}
然后用
Query.ParamByName('mField').AsString := 一个长度大于255的字串;
结果发现一个奇怪的问题:
1、当向一个Text字段insert一条记录时,发现只要长度大于255的字符都会变成乱码。而直接在SQL的Enterprise Manager中向数据库中insert记
录,虽然没有乱码,但是后面的字符全部被砍掉了。
2、如果用一个TDBMemo向表中直接写入这个长串,则没有任何问题,说
明SQL Server的Text字段应该没Bug;
3、在ISAPI中Debug这个Query.ParamByName('mField').AsString,其中的
内容没有问题,说明错也不在Delphi;
这就怪了,谁都没错,难不成只有我错了?请大家帮忙看看怎么回事?