如果数据库正常打开,你在edit1中输入的名字库中有的话,应该是这样写的。
你写的没有问题呀,在试试吧。
你写的没有问题呀,在试试吧。
解决方案 »
- 如何将RichEdit中的文字信息包括(颜色字体等)保存起来
- 不能定义函数的私有类吗?
- 在用dbExpress连接到mysql后,如何将数据库中的数据以表格的形式显示出来
- Dephi中 用TXMLDocument处理XML文件的时候,支持中文吗?
- 如何屏蔽系统键,组合键
- 寻求一段关于string的简单代码!!!
- csdn的朋友们,抽空到寒舍交流经验!!!
- 请教如何在DBGrid中增加数据,再手动将数据存入数据库。
- 在刚装好的Delphi 7.0里无法找到TQuickRep控件
- 动态创建Acheckbox:Tcheckbox,放在一个Ascrollbox:Tscrollbox中.怎么解决.
- Delphi中,输入一个字符串,怎样将它转化为整型计算?急求!相赠100分求完整代码!
- 一个送分的问题哦!
你写的没有问题呀,在试试吧。
str:string;
str:='select * from friend where name='+'''+edit1.text+''';
adoquery1.sql.add(str);
...
则这句话可以直接写为select * from friend where name=''
又如我们输入了black,则等价于select * from friend where name='black'
但是找不到我--blackant
我想这是你找不到记录的原因吧,其实字符查询中更多的是用like很少有人用=
如'select * from friend where name like ''%'+edit1.text+'%'''
这样你应该可以找到你想要的记录了
但是问题是可能你不想要的记录或者你不想要用户获得非法的权限这样做是有问题的,比如edit1.text的值为1%' or '1%'=' 当然如果直接用等于这个值可取1' or '1'='1,这样你要检查字串了,不如直接用query的参数,它会自动帮你检测
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from friend');
adoquery1.sql.add('where TRIM(name)='''+edit1.text+'''');
adoquery1.open;—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————
2.把=换为 like
3.看看其他的吧,比如数据库的设计的原因