声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1034|回复: 6

[编程技巧] 请问,在数据库中,如何用字符串类型字段作为关键字进行检索

[复制链接]
发表于 2008-11-7 13:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
程序如下
timeoutA=logintimeout(5)
connA=database('MyDB','','')
ping(connA)

%以整型字段作为检索,可以得到正确结果
cursorA=exec(connA,'select Company, CustNo from customer where CustNo = 3151');

%但以字符串字段为检索,如何表达呢?下面的句子可以运行,但无法检索到需要的纪录
cursorA=exec(connA,'select Company, CustNo from customer where City = Grand Cayman');

%这一句也不行
cursorA=exec(connA,'select Company, CustNo from customer where City = "Grand Cayman'");

cursorA=fetch(cursorA)
AA=cursorA.Data
close(cursorA)
close(connA)
该问题应该是“在字符串中如何表达字符串”的问题,请各位高手帮忙,万分感谢。
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-11-7 13:55 | 显示全部楼层

抱歉,我自己找到答案了,谢谢大家

在以前的讨论中有,标题是“引号里套引号是怎么输入的?”

评分

1

查看全部评分

发表于 2008-11-8 13:08 | 显示全部楼层
即然花时间找到了, 可否建议就直接给个连接, 方便有兴趣查看学习!
发表于 2008-11-8 13:23 | 显示全部楼层
我以前用过的一段代码。
英文单引号里面的字符串要用两个单引号引起来,在内层的要用四个单引号引起来,以此类推

  1. conn = database('mydatabse', 'username', 'password');
  2. curs0 = exec(conn, 'select count(*) from table1 where id not like ''8%'';')
  3. curs0=fetch(curs0);
  4. data = curs0.data
复制代码
楼主再体会下下面的代码:

  1. eval('a =5')
  2. eval('eval(''a =5'')')
  3. eval('eval(''eval(''''a =5'''')'')')
  4. eval('eval(''eval(''''eval(''''''''a =5'''''''')'''')'')')
复制代码

评分

1

查看全部评分

发表于 2008-11-8 14:09 | 显示全部楼层
发表于 2008-11-8 18:26 | 显示全部楼层

回复 5楼 ch_j1985 的帖子

谢谢! 引号的处理应该算很基本吧!
我只是说说个人想法, "尽量给人方便最好"!
发表于 2008-11-8 18:37 | 显示全部楼层

回复 地板 rocwoods 的帖子

这个好玩! 谢了!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 16:48 , Processed in 0.081907 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表