Почетак › Форуми › Линукс › Програмирање › Mysql pitanje dva
- This topic has 17 одговора, 7 гласова, and was last updated 18 years, 10 months раније by djvujke.
-
АуторЧланци
-
18. новембар 2005. у 1:44 pm #6531djvujkeУчесник
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
18. новембар 2005. у 3:16 pm #37474japanУчесникselect distinct ?
18. новембар 2005. у 11:56 pm #37475djvujkeУчесник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 novukako da izvucem to u combobox?
19. новембар 2005. у 10:24 am #37476burgaУчесникidi na desc 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.
22. новембар 2005. у 7:10 am #37477biccaУчесник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 kategorijainache 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
11. децембар 2005. у 11:57 pm #37478djvujkeУчесник…. 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 qtaima smila ono sto bicca prica , ali meni se baza iskomplikovala…
a ja sam samo pocetnik i pitanje je hocu li ista odraditi12. децембар 2005. у 8:51 am #37479biccaУчесник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)12. децембар 2005. у 1:29 pm #37480amiriloУчесник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!
13. децембар 2005. у 10:03 pm #37481burgaУчесник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.
17. децембар 2005. у 10:45 pm #37482djvujkeУчесник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
-
АуторЧланци
Мораш бити пријављен да би поставио коментар у овој теми.