woeful
پنج شنبه 02 تیر 1390, 21:07 عصر
سلام
خیلی خیلی ببخشید این آموزش نیست من مخواستم سوال بزنم اشتبا هی آموزش زدم .
من با کد زید یه table در سازنده کلاس درست میکنم.
void DataBase::createTables()
{
QSqlQuery qry ;
if (!qry.exec("create table if not exist address (adr varchar(256) , count int )"))
emit errorOccur(tr("Error Occur In Database Setup."),tr("Cannot Setup Database."));
}
و میخام با استفاده از کد زیر یه query از database بگیرم:
void DataBase::addIfNotExist(const QString url)
{
QSqlQuery qry;
qry.prepare("select * from address where adr=':site'");
qry.bindValue(":site", url);//*1*
qry.exec();
int addrNo = qry.record().indexOf("adr");//*2*
int countNo = qry.record().indexOf("count");//*3*
//other code ....
که به خطوطی که شماره گزاشتم ارور های زیر رو میگیرم :
//*1* >> error: no matching function for call to ‘QSqlQuery::bindValue(int, const QString&)’
//*2* >> error: invalid use of incomplete type ‘struct QSqlRecord’ /usr/include/qt4/QtSql/qsqldatabase.h:60:7: error: forward declaration of ‘struct QSqlRecord’
//*3* >> error: invalid use of incomplete type ‘struct QSqlRecord’ /usr/include/qt4/QtSql/qsqldatabase.h:60:7: error: forward declaration of ‘struct QSqlRecord’
و یه توضیح هم میدم :
من یه کلاس دارم که در سازنده این کلاس به وسیله درایور SQLITE و با کد زیر به database متصل میشم :
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("./database/db.iw");
if (!db.open())
emit errorOccur(tr("Cannot Open Database."),tr("Unable to establish a database connection."));
else
createTables();
بعد در ادامه سازنده یه جدول (کدشو اول گزاشتم ) درست میکنم اون کد هایی هم که ازشون ارور میگیرم داخل یه تابع public هست که از کلاس MainWindow فراخوانی میشه.
و در آخر این اولین برنامه من با Qt در مورد database هست اگه اشتباه بچه گانه ای انجام دادم شرمنده .
با تشکر
Woeful
خیلی خیلی ببخشید این آموزش نیست من مخواستم سوال بزنم اشتبا هی آموزش زدم .
من با کد زید یه table در سازنده کلاس درست میکنم.
void DataBase::createTables()
{
QSqlQuery qry ;
if (!qry.exec("create table if not exist address (adr varchar(256) , count int )"))
emit errorOccur(tr("Error Occur In Database Setup."),tr("Cannot Setup Database."));
}
و میخام با استفاده از کد زیر یه query از database بگیرم:
void DataBase::addIfNotExist(const QString url)
{
QSqlQuery qry;
qry.prepare("select * from address where adr=':site'");
qry.bindValue(":site", url);//*1*
qry.exec();
int addrNo = qry.record().indexOf("adr");//*2*
int countNo = qry.record().indexOf("count");//*3*
//other code ....
که به خطوطی که شماره گزاشتم ارور های زیر رو میگیرم :
//*1* >> error: no matching function for call to ‘QSqlQuery::bindValue(int, const QString&)’
//*2* >> error: invalid use of incomplete type ‘struct QSqlRecord’ /usr/include/qt4/QtSql/qsqldatabase.h:60:7: error: forward declaration of ‘struct QSqlRecord’
//*3* >> error: invalid use of incomplete type ‘struct QSqlRecord’ /usr/include/qt4/QtSql/qsqldatabase.h:60:7: error: forward declaration of ‘struct QSqlRecord’
و یه توضیح هم میدم :
من یه کلاس دارم که در سازنده این کلاس به وسیله درایور SQLITE و با کد زیر به database متصل میشم :
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("./database/db.iw");
if (!db.open())
emit errorOccur(tr("Cannot Open Database."),tr("Unable to establish a database connection."));
else
createTables();
بعد در ادامه سازنده یه جدول (کدشو اول گزاشتم ) درست میکنم اون کد هایی هم که ازشون ارور میگیرم داخل یه تابع public هست که از کلاس MainWindow فراخوانی میشه.
و در آخر این اولین برنامه من با Qt در مورد database هست اگه اشتباه بچه گانه ای انجام دادم شرمنده .
با تشکر
Woeful