How to connect to SQL Server 2008 with qt?

2019-05-02 01:35发布

问题:

I am trying to connect to SQL Server 2008 with qt ... I am doing this :

 QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");

 db.setHostName("ITPL_PC1\\SQLEXPRESS");
 db.setDatabaseName("Test");
  db.setUserName("sa");
  db.setPassword("insforia");
  bool ok = db.open();

  //query

  db.close();

I have also added qtsql4 and qtsqld4 libs but now the problem is I am getting an error that database can't be open ... I am very new in qt I don't know how to do this? So any help on how to connect to the database what more should I add or where I am wrong ?

回答1:

after trying for so much time i finally managed to get this to work ... here's what i did :

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");

db.setDatabaseName("DRIVER={SQL Server};Server=ITPL_PC1;Database=Test;Uid=sa;Port=1433;Pwd=*******;WSID=.");

 db.open();

 QSqlQueryModel *model = new QSqlQueryModel;


             QString query = "insert into qttable(PID) values('ARINDAM')";
            model->setQuery(query, db);

 db.close();


回答2:

This could be another one:

//2005  
db.setDatabaseName(DRIVER={SQL Server};SERVER=localhost\\SQLExpress;DATABASE=secundaria;UID=sa;PWD=contraseña;WSID=.;Trusted_connection=yes)

//2008
db.setDatabaseName("DRIVER={SQL Server Native Client 10.0};SERVER=localhost\\SQLExpress;DATABASE=myDbName;UID=user;PWD=userPwd;WSID=.;Trusted_connection=yes")

//2012
db.setDatabaseName("DRIVER={SQL Server Native Client 11.0};SERVER=localhost\\SQLExpress;DATABASE=myDbName;UID=user;PWD=userPwd;WSID=.;Trusted_connection=yes")