• 7196阅读
  • 8回复

请教,数据库在arm开发板显示的问题 [复制链接]

上一主题 下一主题
离线hongwei8602
 

只看楼主 正序阅读 楼主  发表于: 2011-03-17
我遍了一个数据存储的程序,用的是Qsqlite数据库,此程序放到x86-linux环境下编译后可以在虚拟控制台下显示出数据界面的数据,可是交叉编译后的执行程序下到arm开发板上,功能按钮可以显示在lcd上,而数据窗口的数据却显示不出来,是什么原因呢?
代码:
static bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase(“QSQLITE”);
    db.setDatabaseName(“database.db”);
    if(!db.open()) return false;
    QSqlQuery query;
    query.exec(“create table student (id int primary key, name vchar)”);
    query.exec(“insert into student values (0,’shu0′)”);
    query.exec(“insert into student values (1,’shu1′)”);
       return true;
}

void Widget::on_pushButton_clicked() //点击查询按钮
{
    QSqlQueryModel *model = new QSqlQueryModel;
    model->setQuery(“select * from student”);
    model->setHeaderData(0, Qt::Horizontal, tr(“id”));
    model->setHeaderData(1, Qt::Horizontal, tr(“name”));
    QTableView *view = new QTableView;
    view->setModel(model);
    view->show();

}

离线XChinux

只看该作者 8楼 发表于: 2011-06-15
你检查一下你的Sql语法对吗
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线tianyi996

只看该作者 7楼 发表于: 2011-06-14
你好!好像表无法创建成功
query.exec(“create table student (id int primary key, name vchar)”);
返回是0
离线anthonymo200
只看该作者 6楼 发表于: 2011-04-04
chmod a+w database.db
离线hongwei8602

只看该作者 5楼 发表于: 2011-03-23
查出问题来了,应该是创建的database.db的写入权限问题,-rw-r-r,只能在根目录下写入,不知道怎么在程序中更改其可写属性。后来就直接把在pc机创建好的数据文件考入执行文件目录下,在程序中不创建,直接打开就可以显示了。。。不知道有谁知道在程序中怎么更改其属性
离线wxj120bw

只看该作者 4楼 发表于: 2011-03-18
用sqlite命令看能不能插入数据 看在板子上数据库连接有没有错
离线hongwei8602

只看该作者 3楼 发表于: 2011-03-18
回 2楼(wxj120bw) 的帖子
在终端下执行程序后发现在目录下产生了database.db文件,但用vi database.db发现里面是空的,估计是数据没有写进去,可是不知道为什么没写进去,在x86linux的虚拟控制台下都是可以显示的,然后就交叉编译一下就下到板子上去运行数据就出不来。还请大家帮帮忙啊
离线wxj120bw

只看该作者 2楼 发表于: 2011-03-18
你在终端下查看数据库有没有数据了吗 有数据的法 在界面显示 用假数据试试
离线luckbug

只看该作者 1楼 发表于: 2011-03-17
视图、模型
快速回复
限100 字节
 
上一个 下一个