一个简单的SQL查询把我弄傻了,急~
"select * from Booklist where listno ='"+ComboBox1->Text+"+"+Edit1->Text+"'";
就这样一句SQL语句,
我希望把ComboBox1->Text和Edit1->Text中的内容整合在一起
进行查询。。。为什么老是失败。。。
求大虾指点啊~~~
[解决办法]
"select * from Booklist where listno ='"+ComboBox1->Text+"+"+Edit1->Text+"'";
[解决办法]
我的建议是,把获取到的数据先用变量保存,确保没有空格之类的
AnsiString ss;
ss = ComboBox1->Text.Trim();
ss = ss + Edit1->Text.Trim();
然后先把ss show出来,看看是不是你表 Booklist 里面的数据。
可以先在 sql 查询里面写 select * from Booklist where listno ='ss获取到的值';
如果可以查询到,那说明sql语句没有问题,
如果查询不到,那就是条件问题
[解决办法]
"select * from Booklist where listno ='"ComboBox1->Text"+"Edit1->Text"'";
先把你select语句打印出来,如果没问题再查看你的AOD
[解决办法]
给个建议:
try{
open(...);
}catch(...)
{
ShowMessage("sql错误:"+sql);//这样的就可以把错误的sql显示出来检查,看看多了或少了什么
}
[解决办法]
Format("select * from Booklist where listno='%S%S'",ARRAYOFCONST((ComboBox1->Text,Edit1->Text)));
[解决办法]
" select * from Booklist where listno ='"+ComboBox1->Text+Edit1->Text+"'";
[解决办法]
"select * from Booklist where listno ='"+ComboBox1->Text+Edit1->Text+"'";
或者
"select * from Booklist where listno ='"+ComboBox1->Text+"||"+Edit1->Text+"'";
第二种方法在Oracle下是可行的,||是Oracle中的字符连接符,其它数据库不了解~~