Search Results

Search found 7 results on 1 pages for 'qsqlquery'.

Page 1/1 | 1 

  • QSqlQuery UPDATE/INSERT DateTime with server's time (eg CURRENT_TIMESTAMP)

    - by Skinniest Man
    I am using QSqlQuery to insert data into a MySQL database. Currently all I care about is getting this to work with MySQL, but ideally I'd like to keep this as platform-independent as possible. What I'm after, in the context of MySQL, is to end up with code that effectively executes something like the following query: UPDATE table SET time_field=CURRENT_TIMESTAMP() WHERE id='5' The following code is what I have attempted, but it fails: QSqlQuery query; query.prepare("INSERT INTO table SET time_field=? WHERE id=?"); query.addBindValue("CURRENT_TIMESTAMP()"); query.addBindValue(5); query.exec(); The error I get is: Incorrect datetime value: 'CURRENT_TIMESTAMP()' for column 'time_field' at row 1 QMYSQL3: Unable to execute statement. I am not surprised as I assume Qt is doing some type checking when it binds values. I have dug through the Qt documentation as well as I know how, but I can't find anything in the API designed specifically for supporting MySQL's CURRENT_TIMESTAMP() function, or that of any other DBMS. Any suggestions?

    Read the article

  • Sql Get months Name between two dates in a table

    - by user2219210
    My Table column (ID , startDate , EndDate ) I need to use this way with every row of the table : not with a specific value like : declare @start DATE = '2011-05-30' declare @end DATE = '2011-06-10' ;with months (date) AS ( SELECT @start UNION ALL SELECT DATEADD(month,1,date) from months where DATEADD(month,1,date)<= DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@end)+1,0)) ) select Datename(month,date) from months it possible ??

    Read the article

  • Is there a more expressive way of executing SQL query using Qt?

    - by ShaChris23
    I currently have this code: // Construct query QString const statement = QString("drop database if exists %1") .arg(databaseName_); QSqlQuery query(db); query.exec(statement); Is there a better way to code than the above? Specifically, I dont like how I use QString for SQL statement. It'd be nice if Qt has some class so that I could do something like: // Construct query QSomeClass statement = "drop database if exists %1"; statement.setArg(1, databaseName_); // Replace all %1 in the original string. QSqlQuery query(db); query.exec(statement);

    Read the article

  • using sqlite database with qt

    - by Lakshan Perera
    here is my code, it dont seems enything wrong, QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("thedata.sqlite"); db.open(); QSqlQuery quary; quary.prepare("SELECT lastname FROM people where firstname='?' "); quary.bindValue(0,lineEdit->text()); bool x=quary.exec(); if(x){ //...... } else { QSqlError err; err=quary.lastError(); QMessageBox::about(this,"error",err.text() ); } when the program is working always it gives the error parameter count mismatch im using qt 4.8 and its own headers for using sqlite. I would be very thankful for eny advice, though I searched in google i see many posts in this issue but nothing helped me. thank you.

    Read the article

  • Qt: QAbstractItemModel and 'const'

    - by Eye of Hell
    Hello. I'm trying to use a QTreeView for a first time, with a QAbstractItemModel. And instantly it's a problem: QAbstractItemModel interface declares methods as 'const', assuming they will not change data. But i want a result of SQL query displayed, and returning data for a record with specified indeq REQUIRES to use QSqlQuery::seek() that is a non-const. Is it any 'official' guideline to use a QAbstractItemModel with data that MUST be changed in order to get number of items, data per item etc? Or i must hack C++ with const casts?

    Read the article

  • Problem with SqlLite database in Qt SDK 1.0.2

    - by Risino
    Hi I have a problem with SqlLite database. Here is my code: void incomeDialog::on_add_pushButton_clicked() { int a = ui->income_lineEdit->text().toInt(); int b = ui->other_lineEdit->text().toInt(); int c = (a+b); db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("money.db"); QSqlQuery query(db); query.exec("create table Income" "(Month TEXT, Payment NUMBER, Other NUMBER, Together NUMBER)"); query.prepare("INSERT INTO Income values (?,?,?,?)"); query.addBindValue(ui->comboBox->currentText()); query.addBindValue(ui->income_lineEdit->text().toInt()); query.addBindValue(ui->other_lineEdit->text().toInt()); query.addBindValue(c); query.exec(); } I use qt sdk 1.0.2. After building shows errors: Undefined reference to 'QSqlDatabase::addDatabase(QString const&, QString const&)... all errors is similar (Undefined reference to 'QSqlDatabase:: Do you have any idea how to repair it?

    Read the article

  • Why trigger query fails in the sqlite with Qt?

    - by dexterous_stranger
    I am a beginner in the SQL. I am using SQLite, Qt - on embedded systems. I want to put a trigger here. The trigger is that whenever the primary key Id is greater than 32145, then channelNum=101 should be set. I want to set the attrib name - text also, but I got the compilation issue. I believe that the setting of trigger is the part of DDL - Data definition language. Please let me know that if I am wrong here. Here is my create db code. I get the sql query error. Also please do suggest how to set the text attrib = "COmedy". /** associate db with query **/ QSqlQuery query ( m_demo_db ); /** Foreign keys are disabled by default in sqlite **/ /** Here is the pragma to turn them on first **/ query.exec("PRAGMA foreign_keys = ON;"); if ( false == query.exec()) { qDebug()<<"Pragma failed"; } /** Create Table for storing user preference LCN for DTT **/ qDebug()<<"Create Table postcode.db"; query.prepare(" CREATE TABLE dttServiceList (Id INTEGER PRIMARY KEY, attrib varchar(20), channelNum integer )" ); if ( false == query.exec()) { qDebug()<<"Create dttServiceList table failed"; } /** Try placing trigger here **/ triggerQuery = "CREATE TRIGGER upd_check BEFORE INSERT ON dttServiceList \ FOR EACH ROW \ BEGIN \ IF Id > 32145 THEN SET channelNum=101; \ END IF; \ END; "; query.prepare(triggerQuery); if ( false == query.exec()) { qDebug()<<"Trigger failed !!"; qDebug() << query.lastError(); } Also, how to set the text name in the trigger - I want to SET attrib = "Comedy".

    Read the article

1