View Full Version : Passing QsqlRecords in a function
ambarish_singh
13th August 2009, 08:09
Hi all,
I am quite new to QT programming. The problem is I want to transfer sql records which I get from firing select query in my database file to another class. I'm facing problems in doing so. Can anyone please help!!!!
thanks
Ambarish.
yogeshgokul
13th August 2009, 08:12
How you are trying? QSqlRecord or something else.
ambarish_singh
13th August 2009, 09:26
Hi yogesh,
Thanks for the quick reply.
Here is how am I using QSqlRecord in my function.
QSqlQuery q;
QSqlRecord record;
q.prepare(QLatin1String("select * from calendarentry where date = ?"));
q.addBindValue(date);
if(!q.exec())
{
qDebug()<<"Error while executing select Query";
qDebug()<<q.lastError();
}
else
{
qDebug() << "Select Query fired Successfully on database for date in fetch day entries" << date;
while(q.next())
{
qDebug()<<"Entries in the table are"<<q.value(0).toInt();
qDebug()<<"Entries in the table are"<<q.value(1).toString();
qDebug()<<"Entries in the table are"<<q.value(2).toString();
qDebug()<<"Entries in the table are"<<q.value(3).toString();
qDebug()<<"Entries in the table are"<<q.value(4).toString();
qDebug()<<"Entries in the table are"<<q.value(5).toString();
qDebug()<<"Entries in the table are"<<q.value(6).toString();
}
record = q.record();
return (record);
Now how to fetch field data from this record or is there any other way......
And ya liked your tagline " daru vich pyar"
Thanks,
Ambarish
yogeshgokul
13th August 2009, 09:44
Now how to fetch field data from this record or is there any other way......
Very Easy , Use:
QSqlField QSqlRecord::field ( const QString & name );
And ya liked your tagline " daru vich pyar"
Have you ever mixed? ;)
ambarish_singh
13th August 2009, 10:20
sorry man. I'm still not able to get the field values.
qfield = record.field("date");
qDebug()<<"date record is"<<qfield.value().toString();
or
qDebug()<<"date record is"<<qfield;
the output is "date record is QVariant(, ) "
Have you ever mixed?
ya sometimes:)
Thanks
Ambarish
yogeshgokul
13th August 2009, 10:37
Use code tags for pasting code lines.
Can you try this and see the result.
qfield = record.field("date");
if(qfield.isValid()){
qDebug()<<"Field is valid named : "<<qfield.name();
qDebug()<<"Field value is :"<<qfield.value().toString();
}
else
qDebug()<<"Field is invalid ";
ambarish_singh
13th August 2009, 10:58
Hi ,
This is the output I'm getting:
Field is valid named : "date"
Field value is : ""
Thanks,
Ambarish:confused:
ambarish_singh
13th August 2009, 11:10
gotcha!!!!
thanks for your valuable help!!!!!
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.