PDA

View Full Version : مشکل در کوئری زدن



2020s1371
شنبه 15 شهریور 1393, 21:17 عصر
سلام
من میخام بجای تاریخی که توی دستور وجود داره مقدار ماکس جایگزین شه ... چجوری اینکارو باید کرد؟؟


int max=13930603;
QSqlQuery query("SELECT * FROM TB_tb where date<13930603");

امیر مهرشاد
شنبه 15 شهریور 1393, 21:23 عصر
int max=13930603;
QSqlQuery query("SELECT * FROM TB_tb where date<'"+max+"'");

2020s1371
شنبه 15 شهریور 1393, 21:29 عصر
int max=13930603;
QSqlQuery query("SELECT * FROM TB_tb where date<'"+max+"'");



ممنون
ولی این ارور رو میده:






/home/user/QT-practice/Mysql-Database-02/mainwindow.cpp:62: error: invalid operands of types 'const char*' and 'const char [2]' to binary 'operator+'
QSqlQuery query("SELECT * FROM TB_tb where date<'"+max+"'");
^

2020s1371
شنبه 15 شهریور 1393, 22:34 عصر
چیزی دوست عزیزمون گفتند قاعدتا باید اجرا شه و درسته ولی این ارور اذیت میکنه

کسی پیشنهادی نداره؟؟

2020s1371
شنبه 15 شهریور 1393, 22:42 عصر
اینجوری درست شد: توی دستوری که امیرجان فرمودند بجای ماکس گذاشتم

QString::number(max)
یعنی کد شد:


QSqlQuery query("SELECT * FROM TB_tb where date<'"+QString::number( max)+"'");

البته با یک تغییر دیگه تبدیل نوع رو قبلش انجام دادم و بهتر شد فرمش

حمید رضا رحیمیان
شنبه 15 شهریور 1393, 22:54 عصر
سلام میتونی از bindValue هم استفاده کنی



QSqlQuery query("SELECT * FROM TB_tb where date< :data");
query->bindValue(":data", QString::number(max));