求一算法!如果把一段用户输入的查询条件解析为SQL语句(内详)。

painache 2003-08-20 06:58:53
例如用户在一个文本框中输入

A & B !(C | D)

&代表AND,!代表NOT ,|代表OR

用什么样的算法可以把他转换为符合SQL查询规则的语句?并得到需要的关键字(就是用&或者用|连接的字符。

...全文
96 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
painache 2003-08-26
  • 打赏
  • 举报
回复
呵呵,楼上的,当然不会让用户来输入这些鬼东西。我只是为了说明问题用这些鬼东西来表示。
painache 2003-08-25
  • 打赏
  • 举报
回复
to:WQ771211(SyanSea)

谢谢回复。

请问两个堆栈该如何交替使用?能详细说一下么?

aiur2000 2003-08-25
  • 打赏
  • 举报
回复
你让用户输这种鬼东西,晕,你还不如要他直接查询。想办法想好点的吧。什么&!|最好不要让用户输入。改成象google里面的规则比较好。
WQ771211 2003-08-24
  • 打赏
  • 举报
回复
用两个堆栈,一个存符号,一个存条件
WQ771211 2003-08-24
  • 打赏
  • 举报
回复
和表达式的解析差不多,要用堆栈实现(要确定运算符号的优先级别),在数据结构书上有例子
在弹出堆栈时在 转换成SQL的WHERE子句
painache 2003-08-21
  • 打赏
  • 举报
回复
没有这么简单吧,如果只是替换&的话根本就达不到效果。应该先分析其逻辑关系。我觉得可以用栈来实现,但是思路总是组织不起来。因为刚接触数据库,有些东西还不是很熟悉。请各位帮忙。
ukyo88888 2003-08-20
  • 打赏
  • 举报
回复
又学了一点东西,谢谢两位!!!!
zqfleaf 2003-08-20
  • 打赏
  • 举报
回复
如果这样可以直接敲条件语句

如果你所说的可以用
replace(strsql,"&","and")
...

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧