ado与sql server的问题(100 fen)(100分)

  • 主题发起人 主题发起人 flyleaf88
  • 开始时间 开始时间
F

flyleaf88

Unregistered / Unconfirmed
GUEST, unregistred user!
以前我用BDE,可看看现在都说用ADO好,于是我开发新的项目就用ADO
,不过问题真的很多,比如我把Access的数据转到sql server7.0后,以前
char类型的转成nvarchar,在用adoquery查询时,用参数却查不到,
我加了ParamByName('参数').DataType:=ftString还是不行,别告诉我改
nvarchar为varchar,我一改,原来的中文字全变成乱码了
那位有遇到同样问题的请提示一下
 
这不是ADO的问题。
nvarchar是unicode的字符串,你用ansistring来查找当然找不到。
 
那你说该怎么作呀?
 
将nvarchar类型转换成varchar。至于参数,可以用这种方法:
adoquery1.parameters.parambyname('参数').value:=参数值;
 
我说过啦,改varchar,字段里的中文全变乱码了:(
总不能全部在才重新输过吧
adoquery1.parameters.parambyname('参数').value:=参数值;
这句我用了呀
 
好象其他数据源转成sql server,char字段不转成nvarchar都成乱码了
 
看看下面这个
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1054348

这是我以前遇到的 我解决的方法已在上面公布了

不过我现在用format 构近sql 语句.
 
答案找不到呀,是
加.Parameters.ParamByName('参数').Size:=length(‘江折民')吗
可我试过了还是不行呀,这个问题应该很普遍呀,用d6+ADO+sql server都会出现
 
忘了说系统,我的sql server 7.0 是放在winnt4.0上,数据库设定缺省语言是english
客户端是win2000 标准版
 
你打开 sql server 中的profile 工具 监视一下
delphi 向sql server 中提交了什么语句
加这名后一定可以
Parameters.ParamByName('参数').Size:=length(‘江折民')
不过我劝你还是用 format 构建 sql 语句吧
 
大哥,用format构建sq 语句吧怎么做的呀,好人就作到底吧[:D]
能介绍一下吗
 
奇怪了,我用sql server 查询分析器也查不到了
很简单的一句
select * from bm_lb where lb_no='化工'
都查不到结果,难道真的所有字符字段要用varchar

 
实在不行,各位大哥看这问题出在那
sql server 7.0英文板
只要不是nvarchar,我存的中文都显示是乱码,这是啥原因
 
你试试:
select * from bm_lb where lb_no like '%化工%'
可能是 空格的问题
 
还是不行:((((((((((((((((((((((((((((
 
后退
顶部