You are not logged in.

Dear visitor, welcome to QtForum.org. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Tuesday, February 9th 2016, 6:01pm

Hacer consultas Sql en una función de otra clase en Qt C++

Hola buen dia, estoy aprendiendo a programar con qt, no estoy muy familiarizado con c++, sin embargo la entiendo un poco mas que java. La cuestión es lo siguiente, quiero hacer una consulta en una función o método en otra clase, y después llenar el QTableView, yo en VB.net acostumbraba a pasar el control como un parámetro ejemplo:
En el Formulario:
Dim Consultar as Clase_Consulta()
Consultar.clientes(ListView)
En la Clase:
Public sub clientes(ByVal ListView1 as ListView)
****BLA BLA BLA
Ahi podia hacer la consulta y llenar el control
Estuve investigando por internet la forma de hacer esto en Qt, claro en QTableView y he visto que esta no es la forma correcta de utilizar las clases, seria mejor crear una funcion que te devuelva esos datos y LLENARLO EN FORMULARIO "NO EN LA CLASE", ahora como podria hacer esto? intente hacer esto:

********************************************************
conexiones.h
class Conexiones
{
public:
bool Conectar();

QSqlQueryModel model();

***********************************************************************
conexiones.cpp
bool Conexiones::Conectar()
{
int retornar;
QString servername ="";
QString dbname ="
";
QString LoginN= "";
QString Passw= "
*";
db = QSqlDatabase::addDatabase("QODBC", "BDSCAFI");
db.setDatabaseName("DRIVER={SQL Server};Server="+servername+";Database="+dbname+";Uid="+LoginN+";Port=1433;Pwd="+Passw+";WSID=");
if(db.open())
{
retornar=true;
db.close();
}
else
{
retornar=false;
}
return retornar;
}
QSqlQueryModel Conexiones:: model(){
if(conectar==true)
{
QSqlQueryModel *modelo = new QSqlQueryModel;
modelo->setQuery("SELECT * FROMClientes", db);
return modelo;
}
}
***************************************************************
MainWindow.cpp
void MainWindow:: Conectar_TableView(){
Conexiones *conec = new Conexiones();
ui->tableView->setModel(*conec->model());
}
Pero el compilador me da error "no match for operator", que estoy haciendo mal, o si hay una manera mejor de hacerlo, de antemano gracias

Used tags

c++, c++ Qt, qt, sql qt