社区
数据库相关
帖子详情
在线求救:为什么ado不能执行这个sql,难道是ado的bug?
jiyongqiang
2003-10-07 05:48:57
我用的是ado方式:
在执行以下这句sql时,发生了错误.
select ' "a:b" '
错误显示:不正确设置参数对象...
但是执行这句就没有问题:
select ' "ab" '
我测试了一下,凡是在sql语句中出现类似 "xx:yy" 的结构就会出错,不知是什么原因.难道是ado的bug?
...全文
80
19
打赏
收藏
在线求救:为什么ado不能执行这个sql,难道是ado的bug?
我用的是ado方式: 在执行以下这句sql时,发生了错误. select ' "a:b" ' 错误显示:不正确设置参数对象... 但是执行这句就没有问题: select ' "ab" ' 我测试了一下,凡是在sql语句中出现类似 "xx:yy" 的结构就会出错,不知是什么原因.难道是ado的bug?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huojiehai
2003-10-07
打赏
举报
回复
换成TQuery吧
jiyongqiang
2003-10-07
打赏
举报
回复
我好像发现了一点规律
如果想要把这个字符串
aaa:bbb "aaa:bbb " aaa:bbb " aaa:bbb " aaa:bbb
原封不动的保存到数据库
必须要这样写才行
sql.Text:='Insert Into Table1 (Field1)'
+' Values(''aaa:bbb "aaa::bbb " aaa:bbb " aaa::bbb " aaa:bbb'')'
看来还得专门编一个处理字符串中:的函数,将处于"后面的:变成::
如果大家有更好的方法(除了用参数赋值),请通知小弟一声哈.
jiyongqiang
2003-10-07
打赏
举报
回复
to 海天子
你说的没有问题
但我原本想执行的是
update table1 set field1=' "zhangsan:hello" ... '
field1是用户输入的内容,改变内容不太好吧?
jiyongqiang
2003-10-07
打赏
举报
回复
to 风清
参数赋值没有问题,我这个程序里面用参数赋值不太方便,我是把他形成一个sql语句,然后提交到网站上去执行.
huojiehai
2003-10-07
打赏
举报
回复
好像是双引号引起的,你这样试试
ADOQuery1.SQL.Text := 'select ''a:b'' from table1';
jiyongqiang
2003-10-07
打赏
举报
回复
to 海天子
难道delphi还会检查字符串里有没有变量啊?
如果改成 select ' :aa ' 就没问题,看来不是老兄所说的原因吧?
Shiyl
2003-10-07
打赏
举报
回复
试着用参数赋值看看
jiyongqiang
2003-10-07
打赏
举报
回复
我用的是ado+access2000,如果用bde+odbc+access2000来执行这条语句就没有问题。太奇怪了。
jiyongqiang
2003-10-07
打赏
举报
回复
是这样的,原本我是想执行一个更新语句,总是出错,后来问题就归结在上面所说的那个问题了。
原本要执行的语句是
udpate Table1 set Field1=' run "msgbox:hello" '
总是报错:不正确的设置参数对象。。。
后来我将其改成
update Table1 set Field1=' run "msgbox hello" '
就对了
问题就出在字符串里不能出现 "xx:yy" 这样的东西,即使你加了空格,或是将它写成'"xx'+':'+'yy"' 都不行。
jiyongqiang
2003-10-07
打赏
举报
回复
难道还要在执行sql语句前还要对sql语句进行分析出里啊,那好麻烦呀,而且也容易出错啊。
Shiyl
2003-10-07
打赏
举报
回复
select ' "a:b" '
是什么目的
是要找到 A:B这条记录还是“A:B”这条记录?
huojiehai
2003-10-07
打赏
举报
回复
select ' "a:b"加空格,不过就变了
select ' "a: b"
jiyongqiang
2003-10-07
打赏
举报
回复
如果改成这样就可以
select ' "a::b" '
显示结果为 "a:b"
但是如果把所有的":"都变成“::”,执行结果还是不如意,
比如执行
select ' ::"a::b":: '
结果就会变成 ::"a:b"::
真是搞不懂! :(
huojiehai
2003-10-07
打赏
举报
回复
select ' "a:b" :b被delphi认为是参数需要替换值,你没替换当然会出错啦
wwle
2003-10-07
打赏
举报
回复
注视:0_0
jiyongqiang
2003-10-07
打赏
举报
回复
风清兄好聪明,可还是不行。
Shiyl
2003-10-07
打赏
举报
回复
哈哈
Shiyl
2003-10-07
打赏
举报
回复
select '"a'+':'+'b"'
FrameSniper
2003-10-07
打赏
举报
回复
我的数据库好烂!不懂!
BUG
管理新版 (
ADO
/
SQL
) 的源代码及实践应用
Delphi的事件驱动模型是其用户界面设计的核心。当用户进行操作(如点击按钮、输入文本)时,相应的事件处理程序将被触发。在
BUG
管理系统中,事件驱动模型允许系统响应用户的动作,如提交新
BUG
、更新
BUG
状态等。begin// 当用户点击创建
BUG
按钮时触发的事件处理程序try// 获取
BUG
描述// ... 设置其他
BUG
属性// 将
BUG
保存到数据库中finallyFree;// 确保新创建的
BUG
对象被释放end;end;
VC中用
ADO
的使用:关于
执行
SQL
查询
今天 太郁闷了,一个小小的
BUG
浪费了我半天的时间。 在VC中,利用
ADO
操作数据库的时候,要
执行
一条带条件的
SQL
查询,使用方法是: CString
SQL
Str = "select * from TABLE WHERE ID=123" ;_RecordsetPtr pRest; pRest.CreateInstance(__uuidof(Recordset));
用
ADO
SQL
查询Excel表只能取到65535行数据
作者:iamlaosong 同事在用
ADO
连接Excel用
SQL
查询工作表的时候,发现只能查询65535行数据,超过这个行数的数据就取不到了,其
SQL
语句如下: select [单位] from [汇总$E:E] 开始以为是连接串的驱动不对,因为不同03和07版驱动是不一样的,但连接串没有问题,下面代码可测试数据只能取65535行: strConn = "Provider=Mi...
ado
.net
执行
很慢 查询分析器
执行
很快_一次神奇的
SQL
慢查询经历!
Java技术栈www.javastack.cn关注阅读更多优质文章作者:dijia478来源:www.cnblogs.com/dijia478/p/11550902.html一、问题背景现网出现慢查询,在500万数量级的情况下,单表查询速度在30多秒,需要对
sql
进行优化,
sql
如下:我在测试环境构造了500万条数据,模拟了这个慢查询。简单来说,就是查询一定条件下,都有哪些用户的,很简单...
ADO
+
SQL
问题及解决方法
1、
ADO
连接
SQL
,打开数据集时,如果是单条语句的,后跟注释,则
执行
时无结果集返回,如果是有分行符则正常(在查询分析器当然是正常的),原因不详,如: 'Select * from ABC --memo' //无返回 'Select * from ABC' + slinkbreak + '--memo' //正常 2、删除记录时,出现BOF 或 EOF 中有一个是“真”,或者
数据库相关
2,508
社区成员
88,437
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章