【发布时间】:2015-02-05 17:28:12
【问题描述】:
我正在编写一个 QT GUI 应用程序,它将一个 .csv 文件导入到一个 sqlite 数据库表中 我的 .csv 文件位于路径 /home/aj/import_table.csv 我的数据库在 /home/aj/testdatabase.db
我写了下面的代码块---
void MainWindow::on_importButton_clicked()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("/home/aj/testdatabase.db");
QString querystr;
querystr=QString(".separator ","");
QSqlQuery query(querystr,db);
if(query.exec())
{
qDebug()<<"SUCCESSFULLY QUEIRED ";
QString querystr2;
querystr=QString(".import import_table.csv test_table");
}
else
{
qDebug()<<"ERROR DURING QUERY "<<db.lastError().text();
}
}
但它在编译时抛出错误--
/home/aj/sqlite3test/mainwindow.cpp:34:错误:从‘const char*’到‘int’的无效转换[-fpermissive]
/home/aj/sqlite3test/mainwindow.cpp:34:错误:从“const char [1]”到“QChar”的转换不明确
/home/aj/sqlite3test/mainwindow.cpp:34:错误:从“const char [1]”到“QChar”的转换不明确
/usr/local/Trolltech/Qt-4.8.4/include/QtCore/qstring.h:90:错误:正在初始化“QString::QString(int, QChar)”的参数 1 [-fpermissive]
任何解决方案???
是不是因为 .separator 和 .import 是 sqlite 终端命令,不能通过 querystr=Qstring("... ... ...");格式???
【问题讨论】:
-
“但它在运行时抛出错误”——对我来说,这些看起来像是编译错误。
-
该函数的第 34 行是哪一行?
-
对不起,编译时间..
-
querystr=QString(".separator ","");是第 34 行