首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

一个简单的SQL查询把小弟我弄傻了,

2012-10-17 
一个简单的SQL查询把我弄傻了,急~select * fromBooklist where listno +ComboBox1-Text+++Edit1-T

一个简单的SQL查询把我弄傻了,急~
"select * from Booklist where listno ='"+ComboBox1->Text+"+"+Edit1->Text+"'";

就这样一句SQL语句,
我希望把ComboBox1->Text和Edit1->Text中的内容整合在一起
进行查询。。。为什么老是失败。。。
求大虾指点啊~~~

[解决办法]

C/C++ code
"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中的字符连接符,其它数据库不了解~~

热点排行