• 6671阅读
  • 9回复

关于程序中使用QSqlQuery query没有实现该有的功能的问题 [复制链接]

上一主题 下一主题
离线石一泡
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-06
最近,在学习QSqlQuery类的时候,我做了个小实验,要实现的功能很简单,如图1,在lineEdit1框上输入查询的物品号码,然后再lineEdit2上显示出来物品的名字。数据是原来使用sqlite3命令建好的。如图2。关键代码在图3.我这里编译能通过,但是生成的可执行文件没有实现预期的功能。输入货号101,点击查询,lineEdit2里面啥也没有。大家帮我看看到底是怎么回事。我用的QT3 designer。红帽9系统。
附件: test_ceshi.rar (689 K) 下载次数:8
离线石一泡
只看该作者 1楼 发表于: 2011-03-06
最后的代码部分是2张图,那个if(query.next())没有多写。
离线石一泡
只看该作者 2楼 发表于: 2011-03-06
up~大家帮看看到底是怎么回事。我是身在迷中不知迷
离线alexltr

只看该作者 3楼 发表于: 2011-03-06
sql语句里不能直接用变量str1.
用arg()试一下。
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线sy1413

只看该作者 4楼 发表于: 2011-03-07
怎么要这样写 ???
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("Minsys.db");
if(db.open())
   return;

QSqlQuery query;
query.exec("select * from Emp");
while(query.next)
{
    dothins();
}
hello world!
离线浪漫天使
只看该作者 5楼 发表于: 2011-03-08
      str1=this->lineEdit2->text();
      query.exec("select huoming form huowuxinfo where huohao = str1");

这个有问题huohao = str1 这里的str1 并不是 lineEdit2->text() 的返回内容
而是 str1 这个字符串的本身。
离线浪漫天使
只看该作者 6楼 发表于: 2011-03-08
工程文件 和 一些头文件的包含方式 看上去 很明显是qt4的做法
这是不妥的 建议你不要照着qt4的例子 写qt3的程序
离线浪漫天使
只看该作者 7楼 发表于: 2011-03-08
LIBS    += -L/usr/local/lib -lsqlite3  //我自己添加的.
pro文件里面不能用//注释的
而是用 #注释的
[ 此帖被浪漫天使在2011-03-08 12:01重新编辑 ]
离线浪漫天使
只看该作者 8楼 发表于: 2011-03-08
还有一个就是 你用了两套方法 来操作

一套是通过 sqlite自身提供的接口函数来 操作
比如 你用
sqlite3 *db=NULL;
int rc=sqlite3_open("test1.db",&db);
打开一个数据库

另一套 则是通过qt 对数据库操作的类 来做
比如 你用
QSqlQuery query;
query.exec("create table huowuinfo(huoming varchar(18) "
                                                        "huohao varchar,"
                                                        "shuliang varchar,"
                                                        "tiaoma varchar,"
                                                        "weizhi varchar");
来创建表格

混合起来用是不行的。
因为qt的类不知道你打开数据库了
而创建表格的函数却不是跟打开数据库一样用sqlite库提供的方法

建议你要么全用qt提供操作数据库的类做,
要么全用sqlite库提供的接口函数做

然后把结果放到界面控件中。
离线浪漫天使
只看该作者 9楼 发表于: 2011-03-09
暂时一个最新的版本

希望能给你参考
暂时版本 test_ceshi.tar.gz (6 K) 下载次数:8
快速回复
限100 字节
 
上一个 下一个