Jak na sqlite – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Jak na sqlite – C / C++ – Fórum – Programujte.comJak na sqlite – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Jelcin
~ Anonymní uživatel
5 příspěvků
20. 10. 2012   #1
-
0
-

Zdravim , robim pomocou http://www.sqlite.org/…-3071401.zip jednoduchu aplikaciu ktora by mala byt schopna vytvorit novu databazu, vytvorit novu tabulku a nasledne prevadzat s tou zabulkou zakladne operacie.  

Zacal som nejak takto 

sqlite3 * db;
    int x = sqlite3_open(argv[1], &db);

    if(x)
    {
         fprintf(stderr, "Neviem otvorit databazu %s\n", sqlite3_errmsg(db));
         sqlite3_close(db);

         return 1;
    }

kde argument argv[1] predstavuje nazov databazi ktora sa ma vytvorit / otvorit.

Konkretne by ma teraz zaujimalo , ako by som mohol v tejto databazi vytvorit tabulku ktora by obsahovala iba 2 stlpce meno a nejaky pocet.Skusil som nieco nasledovne 

rc = sqlite3_exec(db, "CREATE TABLE table_name (column1 datatype1, column2 datatype2)", NULL, NULL, NULL);

Ale dobre to asi nieje. Jak by som do nej mohol pridat nejaky zaznam (meno a pocet budu ulozene zvlast v premennych) ? Pozeral som sa aj v dokumentacii na oficialnych strankach ale v Cecku zacinam a som z toho jelen :(

Dakujem za pripadnu pomoc.

Nahlásit jako SPAM
IP: 147.251.213.–
Reklama
Reklama
yaqwsx+9
Posthunter
20. 10. 2012   #2
-
0
-

Toto není vyloženě otázka Cčka, ale SQL. Příkaz CREATE TABLE table_name (column1 datatype1, column2 datatype2) by měl fungovat - pokud do něj doplníš smysluplné hodnoty (název tabulky, její datotvé typy a názvy sloupců)

Nahlásit jako SPAM
IP: 85.160.43.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jelcin
~ Anonymní uživatel
5 příspěvků
20. 10. 2012   #3
-
0
-

No som troska dalej . Mame cast kodu 

 const char * tabulka = "CREATE TABLE tabulka (MENO char[10], POCET INT)";

    x = sqlite3_prepare(db, tabulka, 0, &y, &tail);

    if(x)

    {
        printf("Nemozno vytvorit tabulku");

        return 1;
    }

    x = sqlite3_step(&y);

if (x == SQLITE_DONE)
        printf("vytvorena");
    else
        printf("NEVYTVORENA");

a furt mi to vypise ze to nieje vytvorene. A taktiez si niesom isty vytvorenim databazi takto ::

 sqlite3 * db;
    sqlite3_stmt * y;
    int x = sqlite3_open(argv[1], &db);
    const char * tail;

    if(x)
    {
         fprintf(stderr, "Neviem otvorit databazu %s\n", sqlite3_errmsg(db));
         sqlite3_close(db);

         return 1;
    }

    if (argc != 2)
    {
        fprintf(stderr, "Chybny pocet argumentov\n");

        return 1;
    }

pretoze v adresari kde pracujem  sa mi nevytvori ziaden subor s priponou .db

Nahlásit jako SPAM
IP: 147.251.213.–
Jelcin
~ Anonymní uživatel
5 příspěvků
20. 10. 2012   #4
-
0
-

tak chyba bola v tom &y pritom sql_step. Inac furt nwm kde sa vytvori ten subor.db ? :( Ja by som si ho totiz rad prezrel ci tam tie zaznamy skutocne pridavam ...

Nahlásit jako SPAM
IP: 147.251.213.–
Jelcin
~ Anonymní uživatel
5 příspěvků
21. 10. 2012   #5
-
0
-

Jak by sa prosim dalo pristupovat k polozkam v tabulke ? Dajme tomu mame tam jeden zaznam, nejaky nazov a cislo. Ja by som potreboval aby som to cislo vedel ulozit do nejakej premennej a nazov do pola char ... Nejake napady ?

Nahlásit jako SPAM
IP: 147.251.213.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 88 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý