Datenbank gefälligst....

Previous topic - Next topic

trucidare

Hier ein SQLite Test...
Wenn das jemand gebrauchen kann bitte melden ich machs dann weiter.



http://trucidare.funpic.de/SQL.JPG
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

WPShadow

Also von meiner Seite würde auf jeden Fall Interesse bestehen... =)
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

trucidare

MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello


WPShadow

Also mir gefällt die Idee! *ggg*
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

trucidare

Damit ich das nachher in ne tolle DLL packen kann...
Magst du bitte noch diesen Fehler beheben?

Code (glbasic) Select
compiling:
C:/DOKUME~1/Tamm/LOKALE~1/Temp/glbasic/gpc_temp1.cpp: In function `int DllMain(HINSTANCE__*, long unsigned int, void*)':
C:/DOKUME~1/Tamm/LOKALE~1/Temp/glbasic/gpc_temp1.cpp:75: error: `__GLB_Defaults' was not declared in this scope
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Hehehe.
DLL muss ich nochmal gucken. Da passt was nicht...

trucidare

das wird nen richtig geiles projekt ^^
jedoch brauch ich dich noch bei der ausgabe gernot.

die ergebnisse der anfragen gibt sqlite an eine callback funktion weiter... jedoch weiß ich nich wie ich den kram am besten übergebe das man die daten auch verwenden kann. bei einer eindeutigen abfrage wie es in meinem sample ist, ist dieses kein problem jedoch mit mehr als einer ausgabe.

mfg
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Hmm. Speicher die Ausgaben der Callback doch in einem Feld. So mach' ich das bei Newton.

trucidare

naja die callback funktion bekommt die ergebnise als char **argv. und da bin ich gerade ein wenig hilflos evtl kommt noch der geistesblitz.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

ist da ein "int argc" dabei?
Ein char** ist ein Pointer to char*. Also ein Feld von String-Pointern.

Dann so:
Code (glbasic) Select
GLOBAL stack$[]

INLINE
extern "C" callgirl(int argc, char** argv)
{
   for(int i=0; i   {
      DGStr str = CGStr(argv[i]);
      DIMPUSH(stack_Str, str);
   }
}
ENDINLINE

trucidare

also meine Callback funktion bekommt 4 parameter:

erstens einen Pointer ( genau hab ich di ebezeichnung nich im kopf stell ich nachher mal hier rein )

dann int argc für die anzahl der spalten ! ( nicht zeilen )

dann char **argv für die werte

und char **coloumName für den namen der spalte.

Code (glbasic) Select
int callback(... *pointer, int argc, char **argv, char **coloumName)
{
    for(i=0;i    {
        PRINT(argv[i],0,0+(i*10));
    }
}
das ist die momentane Ausgabe für den Test.
das problem ist argc gibt nur die anzahl der spalten aus die zurückgegeben werden und nicht die zeilen. somit sieht das ganze bei einer abfrage bei:

Code (glbasic) Select
SELECT eintrag from Test where number=1so aus:

Code (glbasic) Select
1
Testeintrag
bei einer abfrage nach diesem Schema:

Code (glbasic) Select
SELECT eintrag from Testkommt raus:

Code (glbasic) Select
123 (alles aufeinandere geschrieben)
Testeintrag 23 (2,3 auch aufeinander)
Wie kann ich nun den kram den die callback funktion bekommt als wert übergeben um es im hauptprogramm zu nutzen?
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

Kitty Hello

Wie ich's geschrieben hab. Mach ein Fedl, wo Du die Sachen unten dran hängst, und mach eine Funktion, die immer den obersten Eintrag zurückgibt und aus der Liste löscht.

trucidare

OK werd ich morgen während der aarbeit mal machen. ich hoffe ich kann es so erstellen, dass man die datenbank in spielen nutzen kann. dann wäre das ein perfekter ersatz zu flatfiles etc pp.

wir müssen übrigens freitag weiter an den netzwerkkram weitermachen ich brauch das ganze bald.
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC