Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C++/QT i mysql opet

[es] :: C/C++ programiranje :: C/C++ za početnike :: C++/QT i mysql opet

Strane: 1 2 3

[ Pregleda: 7806 | Odgovora: 42 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

karas

Član broj: 5574
Poruke: 482
*.dynamic.sbb.rs.



+1 Profil

icon Re: C++/QT i mysql opet07.02.2009. u 08:02 - pre 185 meseci
Šta vraća db.open() - true ili false? (Pošto si već ranije postavio username i password, možeš da koristiš open() bez argumenata.)
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.117-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet07.02.2009. u 09:19 - pre 185 meseci
Code:

void MainWindow::spremanje()
{


QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("proba");
db.setUserName("root");
db.setPassword("123");

bool ok=db.open("root","123");
if(ok)
{
QSqlQuery query(db);
query.prepare("insert into druga(id,id1,a) values(:id,:id1,:a)");
query.bindValue(":id","3424");
query.bindValue(":id1","343");
query.bindValue(":a","agdfg");
query.exec();


}
}




ne prolazi otvaranje.
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.dynamic.sbb.rs.



+1 Profil

icon Re: C++/QT i mysql opet07.02.2009. u 10:27 - pre 185 meseci
Šta podrazumevaš pod root korisnikom, tj. da li je root definisan na MySql-u ili pod Linuxom/Windowsom?
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.117-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet07.02.2009. u 10:39 - pre 185 meseci
baza je na windowsima, na localhostu.
root je user baze., a 123 password.
QT i QT creator su također na toj mašini.

linuxa imam na drugoj kanti.
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.dynamic.sbb.rs.



+1 Profil

icon Re: C++/QT i mysql opet07.02.2009. u 12:55 - pre 185 meseci
Ako ne možeš da se uloguješ iz Qt-a, možeš li iz konzole da se uloguješ ali kada NISI root, dakle prolazi li nešto poput
Code:

mysql -hlocalhost -uroot -p123 proba

Takodje, kad staviš
Code:

cout << db.databaseName().toStdString() << ", " << db.driverName().toStdString() << endl;

odmah posle setovanja parametara, ispisuje li dobre parametre?
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.117-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet07.02.2009. u 13:48 - pre 185 meseci
Code:


void MainWindow::spremanje()
{


QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("proba");
db.setUserName("root");
db.setPassword("123");

bool ok=db.open("root","123");

if(ok)
{
QSqlQuery query(db);
QMessageBox::critical(0,QObject::tr("aa"),db.databaseName().toAscii());
query.prepare("insert into druga(ID,ID1,a) values(:id,:id1,:a)");

query.bindValue(":id","3424");
query.bindValue(":id1","343");
query.bindValue(":a","agdfg");
query.exec();

}
}




ovo je code, radi, ja budala, druga tablica mi je bila vezana relacijom na prvu.ta druga je bila detail.

sve radi.na ovoj bazi sam nešto testirao, pa zaboravio na relaciju.

hvala svima.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet08.02.2009. u 21:51 - pre 185 meseci
sad imam dalje pitanja.
izvršim query, recimo da imam select.

u dizajneru na formu stavi tableView.

kako povezati query sa tablemodel i tableview.


tj. da podatke iz query-a dodijelim tablemodel-u?
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.dynamic.sbb.rs.



+1 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 05:37 - pre 185 meseci
Ako u bazi imaš npr. tabelu emails(personId INT, address VARCHAR(32)) onda je možeš pročitati sa
Code:

QSqlTableModel* emailsModel = new QSqlTableModel(0, db);
emailsModel->setTable("emails");
emailsModel->setHeaderData(1, Qt::Horizontal, "Address");// postavlja ime kolone koje se prikazuje nezavisno od onog u bazi
emailsModel->select();

a prikazati sa
Code:

QTableView* emailsView = new QTableView;
emailsView->setModel(emailsModel);
emailsView->show();

Dok se budeš igrao sa čitanjem i pisanjem po bazi, izbegavaj NULL vrednosti u poljima. Trenutno pokušavam da nađem rešenje za brisanje redova koji imaju u nekoj koloni NULL jer primeri koji se koriste u dokumentaciji i knjigama ne rade!?
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 10:43 - pre 185 meseci
Citat:
karas: Ako u bazi imaš npr. tabelu emails(personId INT, address VARCHAR(32)) onda je možeš pročitati sa
Code:

QSqlTableModel* emailsModel = new QSqlTableModel(0, db);
emailsModel->setTable("emails");
emailsModel->setHeaderData(1, Qt::Horizontal, "Address");// postavlja ime kolone koje se prikazuje nezavisno od onog u bazi
emailsModel->select();

a prikazati sa
Code:

QTableView* emailsView = new QTableView;
emailsView->setModel(emailsModel);
emailsView->show();

Dok se budeš igrao sa čitanjem i pisanjem po bazi, izbegavaj NULL vrednosti u poljima. Trenutno pokušavam da nađem rešenje za brisanje redova koji imaju u nekoj koloni NULL jer primeri koji se koriste u dokumentaciji i knjigama ne rade!?


a dali postoji mogučnost da prikažem query u table view-u?

da ne koristim qsqltablemodel.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 11:34 - pre 185 meseci
radi usporedbe. u QT-u, prikaz od milijun redova izvršava se u 3-4 sekunde, dok kod .net-a treba 30 s i još sve zablokira.
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.COOL.ADSL.VLine.Verat.NET.



+1 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 11:40 - pre 185 meseci
Ako te ne mrzi, probaj
Code:

emailsModel->removeRow(0)

prvo na recordu koji nema NULL vrednost ni u jednoj koloni a onda isto to na recordu koji u jednoj koloni ima NULL vrednost. Da li je obrisao red iz tabele koji ima NULL?

Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 12:04 - pre 185 meseci
Citat:
karas: Ako te ne mrzi, probaj
Code:

emailsModel->removeRow(0)

prvo na recordu koji nema NULL vrednost ni u jednoj koloni a onda isto to na recordu koji u jednoj koloni ima NULL vrednost. Da li je obrisao red iz tabele koji ima NULL?


meni null vrijednosti prikazuje u tableview.

a šta ako hoću sa tablemodel prirodno spojiti dvije tablice ?

f
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 12:18 - pre 185 meseci
uspio sam.

Code:

void MainWindow::spremanje()

{


QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("proba");
db.setUserName("root");
db.setPassword("123");

bool ok=db.open("root","123");
if(ok)
{

QSqlQueryModel *a=new QSqlQueryModel();
a->setQuery("select * from prva,druga where prva.id=druga.id1");


ui.tableView->setModel(a);
ui.tableView->show();



}
}

 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.COOL.ADSL.VLine.Verat.NET.



+1 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 12:19 - pre 185 meseci
A da li ih brise iz tabele u bazi?
S obzirom da u dokumentaciji kaze
Citat:

The QSqlTableModel class provides an editable data model for a single database table

pretpostavljam da nije predvidjena za JOIN-ove.
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.COOL.ADSL.VLine.Verat.NET.



+1 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 12:21 - pre 185 meseci
Prikazao, a editovanje?
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 12:34 - pre 185 meseci
Citat:
karas: Prikazao, a editovanje?


ne znam.

sad pitanje, a sta ako umjesto QSqlQueryModel želim koristiti QSqlQuery?

i rezultat prikazati u tableview?

qsqlquery mi treba zbog procedura, mada čujem od ljudi da procedure nisu baš potrebne, da se svi query-i mogu stavit u jednu klasu.

a drugo ako nam treba neki zbroj računa kroz godinu ili nešto slično, a upit bi trajao dugo, mislim da je bolje zbrajat u hodu.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 12:40 - pre 185 meseci
pozivanje procedure.odlično radi.a ako trebaju i parametri, samo se navedu u zagradi kod imena procedure.
samo još moram probati sa out parametrima.

Code:

void MainWindow::spremanje()

{


QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("proba");
db.setUserName("root");
db.setPassword("123");

bool ok=db.open("root","123");
if(ok)
{

QSqlQueryModel *a=new QSqlQueryModel();
a->setQuery("call procedura()");


ui.tableView->setModel(a);
ui.tableView->show();



}
}

 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..133.163-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet09.02.2009. u 12:57 - pre 185 meseci
dokumentacija je dobra ali nije za početnike.
primjeri su dobri ali su pisani na razini za profesionalce, nema jednostavnijih primjera.
zbog tako loše dokumentacije za početnike mi moramo otkrivati toplu vodu no forumu.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..134.138-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet10.02.2009. u 10:31 - pre 185 meseci
Code:

void MainWindow::spremanje()

{


QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("proba");
db.setUserName("root");
db.setPassword("123");

bool ok=db.open("root","123");
if(ok)
{
QSqlQuery query;

query.exec("call marko(1)");


QSqlQueryModel *a=new QSqlQueryModel();
a->setQuery(query);


ui.tableView->setModel(a);
ui.tableView->show();
db.close();


}
}




kako koristiti bind value za poziv procedure?
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..134.138-dsl.net.metronet.hr.



+19 Profil

icon Re: C++/QT i mysql opet10.02.2009. u 10:55 - pre 185 meseci
kako ide spajanje stringova?

 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: C++/QT i mysql opet

Strane: 1 2 3

[ Pregleda: 7806 | Odgovora: 42 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.