Russian Qt Forum

Qt => Базы данных => Тема начата: ODDY от Март 13, 2009, 11:22



Название: Помогите новичку Т_Т
Отправлено: ODDY от Март 13, 2009, 11:22
Код:

Код
C++ (Qt)
using namespace std;
 
   QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
   db.setDatabaseName("C:/work/sqtest/base.db");
 
   if( !db.open())
       cout << "Connection failed" << endl;
   else
       cout << "Connection" << endl;
 
   string/*или ставим тут QString*/  Name, Qualite, Genre;
 
   cout<<"Name: ";
   cin>>Name;
 
   cout<<"Qualite: ";
   cin>>Qualite;
 
   cout<<"Genre: ";
   cin>>Genre;
 
 
 
  QSqlQuery query;
 
  if ( !query.prepare( "INSERT INTO Anime(Name, Qualite, Genre) VALUES (?, ?, ?)" ) )
  {
      cout << "Unable to prepare query" << endl;
  }else
  {
    query.bindValue( 0, Name);
    query.bindValue( 1, Qualite);
    query.bindValue( 2, Genre);
  }
  if ( !query.exec() )
  {
      cout << "Unable to execute prepared query " << endl;
  }
 
Если оставить string он ругается на bindValue а если QString то на cin что естественно.
Как быть  ???


Название: Re: Помогите новичку Т_Т
Отправлено: kirill от Март 13, 2009, 11:50
пиши string а для bindValue - QString::fromStdString(Name)


Название: Re: Помогите новичку Т_Т
Отправлено: ODDY от Март 13, 2009, 11:57
Спасибо)))


Название: Re: Помогите новичку Т_Т
Отправлено: miha-ha от Март 13, 2009, 16:40
лучше используй QString
а для вывода диагностических сообщений подключи: #include <QDebug>
и используй: qDebug() << "привет мир!";