• 8357阅读
  • 6回复

ScimInputContextPlugin()问题 [复制链接]

上一主题 下一主题
离线kenvi
 
只看楼主 倒序阅读 楼主  发表于: 2006-04-11
我用QT做了一个很简单的东西,编译成功了,但是在我使用这个东西的时候就出现:
[root@kenvix lib]# ./lib
ScimInputContextPlugin()
段错误
[root@kenvix lib]#

有没有人告诉我怎样解决这个问题阿??
[ 此贴被XChinux在2006-04-12 00:28重新编辑 ]
离线kenvi
只看该作者 1楼 发表于: 2006-04-12
这个是在FC5下的,出现了什么问题阿,有没有有人回答阿??
我很需要这个问题的正确的答案阿
离线kenvi
只看该作者 2楼 发表于: 2006-04-13
#include<qapplication.h>
#include<qsqldatabase.h>

#include "../lib/connection.h"

int main(int argc,char *argv[])
{
  QApplication app(argc,argv);
  if(!createConnections())
    return 1;

  QSqlQuery query;
  //query.exec("CREATE DATABASE library;");
  query.exec("DROP TABLE book;");
  query.exec("DROP TABLE loanbook;");
  query.exec("DROP TABLE reader;");
  query.exec("DROP TABLE subject;");
  query.exec("DROP TABLE sysmange;");

  query.exec("CREATE TABLE book("
          "bISBN VARCHAR(10) NOT NULL,"
          "sorted VARCHAR(30) NOT NULL,"
          "code VARCHAR(10) NOT NULL)");

  query.exec("CREATE TABLE loanbook("
          "lbnum VARCHAR(10) NOT NULL,"
          "lbnam VARCHAR(40) NOT NULL,"
          "loandat VARCHAR(50) NOT NULL,"
          "lrtndate VARCHAR(50) NOT NULL,"
          "lcount INTEGER,"
          "lbrwcount INTEGER)");
  query.exec("CREATE TABLE sysmange("
          "snum VARCHAR(10) NOT NULL,"
          "snam VARCHAR(40) NOT NULL,"
          "popedom VARCHAR(2) NOT NULL,"
          "pwd VARCHAR(10) NOT NULL)");
  query.exec("CREATE TABLE subject("
          "sISBN INTEGER NOT NULL,"
          "sbnum VARCHAR(10) NOT NULL,"
          "sbnam VARCHAR(40) NOT NULL,"
          "pbl VARCHAR(50),"
          "scount INTEGER,"
          "author VARCHAR(40),"
          "pbler VARCHAR(40))");
    query.exec("CREATE TABLE reader("
          "rnum VARCHAR(10) NOT NULL,"
          "rbnum VARCHAR(10) NOT NULL,"
          "rnam VARCHAR(40),"
          "sex VARCHAR(8),"
          "age INTEGER,"
          "bckcount INTEGER,"
          "rbrwcount INTEGER)");
#if 1
   
    query.exec("INSERT INTO reader "
          "VALUES('11111','11111','aa','m','12','5','132')");
    query.exec("INSERT INTO reader "
          "VALUES('11112','11112','bb','m',22','5','122')");
    query.exec("INSERT INTO reader "
          "VALUES('11113','11113','cc','f','32','5','12222')");
    query.exec("INSERT INTO reader "
          "VALUES('11114','11114','dd','f','32','2','1332')");
    query.exec("INSERT INTO reader "
          "VALUES('11115','11115','ee','f','22','2','12')");
    query.exec("INSERT INTO reader "
          "VALUES('11116','11116','ff','m','12','5','132')");

    query.exec("INSERT INTO subject "
          "VALUES('1111','11111','a','2000-12-6','12','aqws','aa')");
    query.exec("INSERT INTO subject "
          "VALUES('1112','11112','b','2001-08-6','22','aes','awa')");
    query.exec("INSERT INTO subject "
          "VALUES('1113','11113','c','2002-09-6','32','eas','waa')");
    query.exec("INSERT INTO subject "
          "VALUES('1114','11114','d','2003-10-6','34','aas','aas')");
    query.exec("INSERT INTO subject"
          "VALUES('1115','11115','e','2004-11-6','32','ass','asa')");
    query.exec("INSERT INTO subject "
          "VALUES('1116','11116','f','2005-02-12','22','sss','sas')");

    query.exec("INSERT INTO book "
          "VALUES('1111','ass','11111')");
    query.exec("INSERT INTO book "
          "VALUES('1112','dsa','11112')");
    query.exec("INSERT INTO book "
          "VALUES('1113','sdfsd','11123')");
    query.exec("INSERT INTO book"
          "VALUES('1114','sdfsd','111234')");
    query.exec("INSERT INTO book "
          "VALUES('1115','sdfs','111234')");
    query.exec("INSERT INTO book "
          "VALUES('1116','fghf','111334')");
   
    query.exec("INSERT INTO loanbook "
          "VALUES('11111','a','2001-01-01','2001-02-01','5','0')");
    query.exec("INSERT INTO loanbook "
          "VALUES('11112','b','2001-01-01','2001-02-01','2','2')");
    query.exec("INSERT INTO loanbook "
          "VALUES('11113','c','2001-01-01','2001-02-01','1','3')");
    query.exec("INSERT INTO loanbook "
          "VALUES('11114','d','2001-01-01','2001-02-01','0','1')");
    query.exec("INSERT INTO loanbook"
          "VALUES('11115','e','2001-01-01','2001-02-01','3','0')");
    query.exec("INSERT INTO loanbook "
          "VALUES('11116','f','2001-01-01','2001-02-01','1','2')");

    query.exec("INSERT INTO sysmange "
          "VALUES('11111','aa','r','1111')");
    query.exec("INSERT INTO sysmange "
          "VALUES('11112','bb','u','2222')");
    query.exec("INSERT INTO sysmange "
          "VALUES('11113','cc','u','3333')");
    query.exec("INSERT INTO sysmange "
          "VALUES('11114','dd','u','4444')");
    query.exec("INSERT INTO sysmange"
          "VALUES('11115','ee','u','5555')");
    query.exec("INSERT INTO sysmange "
          "VALUES('11116','ff','u','6666')");
#endif
    return 0;
}


我是在MYSQL数据库的,数据库的简单建立
离线ywchen2000

只看该作者 3楼 发表于: 2006-04-13
看上面的代码好像没有问题
ipanforlinux 金山快盘LINUX版本
qnotepad  一个功能强大的文本编辑器
欢迎访问http://www.ipanx.net
离线kenvi
只看该作者 4楼 发表于: 2006-04-13
#include <qapplication.h>
#include <qdatatable.h>
#include <qlayout.h>
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <qsplitter.h>
#include <qsqldatabase.h>
#include <qsqlselectcursor.h>

#include <cstdlib>
using namespace std;

#include "readerform.h"
#include "bookform.h"
#include "mainform.h"

MainForm::MainForm(QWidget *parent, const char *name)
  : QDialog(parent, name)
{
  setCaption(tr("LibSYS"));

  splitter = new QSplitter(Vertical, this);
QSqlSelectCursor *readerCursor = new QSqlSelectCursor(
            "SELECT DISTINCT rnum, rbnum, rnam, sex, age, rbrwcount, bckcount "
            "FROM reader, loanbook "
            "WHERE reader.rbnum = loanbook.lbnum");
  if (!readerCursor->isActive()) {
    QMessageBox::critical(this, tr("libSYS"),
          tr("The database has not been created.\n"
          "Run the libtable example to create a sample\n "
          "database, then copy library into\n "
          "this directory and restart this application."));
    qApp->quit();
  }
  readerTable = new QDataTable(readerCursor, false, splitter);
  readerTable->addColumn("rnum", tr("Number"));
  readerTable->addColumn("rbnum",tr("Book_name"));
  readerTable->addColumn("rnam", tr("Name"));
  readerTable->addColumn("rbrwcount", tr("Borrowed_count"));
  readerTable->addColumn("bckcount",tr("Returing_count"));
  readerTable->setAutoDelete(true);
  readerTable->refresh();
//鐣岄潰鐨勪笅鐨勮
离线kenvi
只看该作者 5楼 发表于: 2006-04-13
第一次贴的代码是建立数据库的
是没问题啊
但是在主界面使用按钮的时候,就出问了
主界面的代码是上面的代码
离线kenvi
只看该作者 6楼 发表于: 2006-04-26
这个问题我自己研究了一段时间了,发现了可能所问题的关键所在,我在gdb和valgrind调试过这个小东东了,显示:
#18 0x08053ff4 in main (argc=Cannot access memory at address 0x1
) at main.cpp:17
这个所用gdb调试发现的,发现内存不能够写入argc的的地址0x1处
但是又使用了valgrind调试程序,又发现了:
==3735== LEAK SUMMARY:
==3735==   definitely lost: 518 bytes in 24 blocks.
==3735==   indirectly lost: 3,168 bytes in 8 blocks.
==3735==     possibly lost: 744 bytes in 6 blocks.
==3735==   still reachable: 1,996,968 bytes in 16,662 blocks.
==3735==       suppressed: 0 bytes in 0 blocks.
段错误

原来是内存的泄漏,呵呵
可惜阿,由于时间的问题,不能够想出一个很好的办法解决这个问题,不知道谁有解决这方面的经验,可以告诉我吗?可以给我一个提示也可以的,呵呵
谢谢指教
[ 此贴被kenvi在2006-04-26 00:51重新编辑 ]
快速回复
限100 字节
 
上一个 下一个