Mysql pitanje dva
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.

Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Linuxo Forumi

Stranice: [1] 2   Idi dole
  Štampaj  
Autor Tema: Mysql pitanje dva  (Pročitano 2102 puta)
0 članova i 1 posetilac pregledaju ovu temu.
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 349



« poslato: 18 Новембар 2005, 14:44:05 »

Imam jedno mysql pitanje...treba da iz baze, tabele
koja ima
id
naziv varchar
kategorija enum()
i kojesta
da izvucem te kategorije i stavim u lisBox za qt..

citao sam da mysql moze da nadje broj razlicitih 'kategorija' ali
nemogu da nadjem da mi ispise koje su to razlicite 'kategorije'

hvala unapred
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
japan
Full Member
***
Van mreže Van mreže

Poruke: 153


« Odgovor #1 poslato: 18 Новембар 2005, 16:16:52 »

select distinct ?
Prijavi uredniku   Sačuvana
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 349



« Odgovor #2 poslato: 19 Новембар 2005, 00:56:32 »

cini mi se da to vraca broj koliko razlicitih ima, a ne koji su

pazi kategorija za recept(to sto pravim)
je enum ('sladoledi','torte','kolaci slani','kolaci slatki','SVE') default 'SVE'

e sad ja bi to u qt-u moga rucno da ispisem ali
hocu da kad neko ubacuje novu kategoriju moj program procita sve postojece iz baze i odradi update tj. snimi novu

kako da izvucem to u combobox?
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
burga
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 700


Meet Linus


WWW
« Odgovor #3 poslato: 19 Новембар 2005, 11:24:13 »

idi na desc <tabela> i dobices opis svih polja, pa onda odatle vadi sta ti treba. Na taj nacin ne moras u kod direktno da ubacujes ono sto se kasnije moze promeniti.
Prijavi uredniku   Sačuvana

Нема Бога, и Дирак је његов пророк
http://www.burgic.com[img=http://www.boincstats.com/signature/user_1428421.gif]
bicca
Newbie
*
Van mreže Van mreže

Poruke: 33


« Odgovor #4 poslato: 22 Новембар 2005, 08:10:20 »

kao sto ti je japan rekao
select distinct kategorija from tvoja_tabela
vraca razlicite kategorije koje imas (po vrednostima)

a
select count(distinct kategorija) from tvoja_tabela
vraca broj razlicitih kategorija

inache po meni ti je jako losha zamisao, to znaci da korisnik kad god ti unese novu kategoriju ti ces morati da menjas strukturu tabele.......bolje da si lepo napravio da umesto enum bude integer koji ce predstavljati strani kljuc tabele koja ce sadrzati kategorije. Na taj nacin kad hoce korisnik da doda kategoriju radish insert umesto alter table.......

poz
Prijavi uredniku   Sačuvana
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 349



« Odgovor #5 poslato: 12 Децембар 2005, 00:57:45 »

.... kako da napravim bazu iz qt-a ... da pristupim kao user i napravim
bazu.. nisam to nigde video.
mislim mogao bi da napravim skriptu koja ce da pokrene mysql tak da ucita neki textualni fajl sa komandama da napravi neku bazu ali kako se
to radi iz qta


ima smila ono sto bicca prica , ali meni se baza iskomplikovala...
a ja sam samo pocetnik i pitanje je hocu li ista odraditi
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
bicca
Newbie
*
Van mreže Van mreže

Poruke: 33


« Odgovor #6 poslato: 12 Децембар 2005, 09:51:10 »

ne znam qt, ali mislim da ides pogresnim putem.......zasto bi bazu pravio iz qt-a?
a verovatno nema u qt-u pristup (nagadjam samo) bazama, vec koristis C++ biblioteke koje idu uz mysql ili koju vec bazu koristis za pristup..... za detalje treba da vidish uputstvo za pristup bazi iz C++ kao i dalji rad (upiti, kursori i sl)
Prijavi uredniku   Sačuvana
amirilo
Newbie
*
Van mreže Van mreže

Poruke: 29


« Odgovor #7 poslato: 12 Децембар 2005, 14:29:58 »

A zasto kad vec imas potrebu da menjas vrednosti kategorija to ne stavis u posebnu tabelu, pa je povezes preko spoljnjeg kljuca sa sadasnjom tabelom?

Pojednostavice ti se odrzavanje mnogo mnogo, a i mislim da je u tvom slucaju ovo najkulturnije resenje!
Prijavi uredniku   Sačuvana
burga
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 700


Meet Linus


WWW
« Odgovor #8 poslato: 13 Децембар 2005, 23:03:29 »

QT ima podrsku za sql en generalle, samo je potrebno instalirati odredjene drajvere (a ja mislim da ih vec imas instalirane). Ne znam kako radis qt, ali ako nista drugo pokreni qt assistant i idi na opciju da ti pokaze sve qt klase (npr. QSql i ostale izvede iz nje kao QSqlQuery) pa prouci malko dokumentaciju.

Naravno, to ti nista ne vredi ako bar malo ne razumes sql.
Prijavi uredniku   Sačuvana

Нема Бога, и Дирак је његов пророк
http://www.burgic.com[img=http://www.boincstats.com/signature/user_1428421.gif]
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 349



« Odgovor #9 poslato: 17 Децембар 2005, 23:45:57 »

ovo je kod koji cita moju bazu , ali nemogu u qt-u da nadjem nesto sto ce otvoriti konekciju i napraviti bazu i tabele koje mi trebaju....

 QSqlDatabase *db = QSqlDatabase::addDatabase("QMYSQL3");
    db->setHostName("localhost");
    db->setDatabaseName("recopisi");
    db->setUserName("root");
    db->setPassword("thrall");
    if (!db->open())
    {
   db->lastError().showMessage();
   exit(1);
    }

    QSqlQuery query;
    query.exec("SELECT Naziv_Recepta FROM Recepti");
    while (query.next())
    {
   QString Naziv_Recepta = query.value(0).toString();
   new QListViewItem( listView1,Naziv_Recepta);
    }

. . . .
 . . . .
 . . .

nemogu da pronadjem... a C kod ..nebih znao gde da trazim...man -k sql ili sta
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #10 poslato: 18 Децембар 2005, 03:02:48 »

Baza se nikada ne pravi iz aplikacije. Kreiraj create.sql script i pokreni ga sa
Kod:
mysql -u root < create.sql


Ako BAAAAŠ moraš iz apliakceije, izvrši gore navedeno kroz QProcess klasu ili u najgorem slučaju probaj neku varijaciju na temu:
Kod:

 QSqlDatabase * db = QSqlDatabase::addDatabase( DRIVER );
db->setDatabaseName( DATABASE );
db->setUserName( USER );
db->setPassword( PASSWORD );
db->setHostName( HOST );
if ( !db->open() )
{
db->setDatabaseName("");
db->open( USER, PASSWORD );
QSqlQuery query = db->driver()->createQuery();
if ( query.exec("CREATE DATABASE wpdev2") )
printf("Database Created!");
}






Mogao si malo da "proguglaš" i pronađeš ideje i savete jako lako Smiley
Prijavi uredniku   Sačuvana
japan
Full Member
***
Van mreže Van mreže

Poruke: 153


« Odgovor #11 poslato: 18 Децембар 2005, 06:32:18 »

i bilo bi dobro da pri kreiranju baze na prvi nacin koji je pedjaman naveo, tu bazu ne koristis iz aplikacije kao root. daj grant nekom useru...
Prijavi uredniku   Sačuvana
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 349



« Odgovor #12 poslato: 18 Децембар 2005, 19:12:34 »

za skriptu znam i tako sam odradio ...ali hocu da ga uradim iz aplikacije..
kod koji si napisao sam probao, ali on se konektuje na vec postojecu bazu a nepravi novu...mislim da to nema u qt-u....googlanje je jedino resenje  aii ja trenutno preko 041 idem na neta veza mi je ocajna ..ipak googlao sam malo ali nisam nasao sta sam hteo zato sam se i ovde obratio

znaci ostavljam ga u obliku skripte
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #13 poslato: 19 Децембар 2005, 01:51:34 »

Citat: djvujke

kod koji si napisao sam probao, ali on se konektuje na vec postojecu bazu a nepravi novu...mislim da to nema u qt-u....


I nema u Qt-u jer se smatra retko potrebnim. Pogledaj deo pod "if". Tu ti je trik kako da se ne konektuješ na konkretnu bazu(neprovereno). Ponavljam... nije rešenje...
Prijavi uredniku   Sačuvana
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 349



« Odgovor #14 poslato: 19 Децембар 2005, 23:16:15 »

mislim da sam probao i da nece, no nema veze odradicemo preko skripte
ali mi je krivo kako to da nema...
za sad ste slobodni dok nepronadjem jos koju pametnu glupost da vas pitam
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
Stranice: [1] 2   Idi gore
  Štampaj  
 
Prebaci se na: