Hallo!
Ich habe eine Frage zur easyDB-lib.
Wenn ich eine DB erzeuge, gleich danach ein paar Records schreibe, dann funktioniert alles einwandfrei.
Wenn ich nach dem Erzeugen die DB schliesse, sie danach wieder öffne, die Records schreibe und wieder schliesse, dann wird nichts reingeschieben!
Siehe Beispiele unten.
Dateiname, name und pass stimmen!
Auch edbUse(0) hilft nichts.
Hatte schon jemand das Problem?
Weiß jemand an was es liegen könnte?
So funktioniert es:
edbCreateNulldb(FileName.s, name.s, pass.s)
edbOpen(0, FileName, name.s, pass.s)
edbCreateAddField("NAME, C, 20, 0")
edbAppend()
edbPut ("NAME", Name.s)
edbWriteRecord(0)
edbClose(0)
So funktioniert es nicht:
edbCreateNulldb(FileName.s, name.s, pass.s)
edbOpen(0, FileName, name.s, pass.s)
edbCreateAddField("NAME, C, 20, 0")
edbClose(0)
;
edbOpen(0, FileName, name.s, pass.s)
edbAppend()
edbPut ("NAME", Name.s)
edbWriteRecord(0)
edbClose(0)
easyDB-lib
- Maurizio555
- Beiträge: 53
- Registriert: 03.10.2004 10:00
- Wohnort: BW
easyDB-lib
Mit fernem Wasser läßt sich nicht ein nahes Feuer löschen.
Tsue Hung (525 n.Chr.).
Tsue Hung (525 n.Chr.).
- Maurizio555
- Beiträge: 53
- Registriert: 03.10.2004 10:00
- Wohnort: BW
edbGetInfo
Hallo!
Hat sich erledigt, der Fehler lag doch woanders
Hab' aber trotzdem noch 'ne Frage
über edbGetInfo:
$dbFName soll den Namen eines Feldes zurückgeben.
Die Hilfe zur lib sagt:
$dbFName , Feld vom Feld "Feld" wird der Feld-Name zurückgegeben.
Kann das jemand auf Deutsch übersetzen?
Was soll ich an edbGetInfo übergeben?
edbGetInfo("$dbFName , 1", *smem) sollte doch den Namen des Feldes 1
zurückgeben? Funzt aber nicht. Wenn ich statt der Feldnummer den Feldnamen übergebe, dann kenne ich den Namen bereits und brauche die Funktion nicht mehr.
Verstehe ich nicht
Hat sich erledigt, der Fehler lag doch woanders
Hab' aber trotzdem noch 'ne Frage
$dbFName soll den Namen eines Feldes zurückgeben.
Die Hilfe zur lib sagt:
$dbFName , Feld vom Feld "Feld" wird der Feld-Name zurückgegeben.
Kann das jemand auf Deutsch übersetzen?
Was soll ich an edbGetInfo übergeben?
edbGetInfo("$dbFName , 1", *smem) sollte doch den Namen des Feldes 1
zurückgeben? Funzt aber nicht. Wenn ich statt der Feldnummer den Feldnamen übergebe, dann kenne ich den Namen bereits und brauche die Funktion nicht mehr.
Verstehe ich nicht
Mit fernem Wasser läßt sich nicht ein nahes Feuer löschen.
Tsue Hung (525 n.Chr.).
Tsue Hung (525 n.Chr.).
Also ich nehm mal an du verwendest die lib für PB und nich die dll und wenn du dir da die hilfe anschaust steht da das drin:
In dem Beispiel oben hast du dann in der variable return_value drin stehen was dir edbGetInfo() zurück gibt (hier halt die anzahll der records in der db)
Du mußt halt einfach die Strings die in der hilfe auch stehen wie z.b. &dbRecCount als string bei n1 übergeben also "&dbRecCount".
Hoffe das hat dir geholfen.
MfG Nico
das heist also das du das so machen kannst:edbGetInfo ( n1 , n2 ) n1 = char; Zeiger auf einem String Datenbank-Variable auslesen
n2 = char; Zeiger auf einem Speicherbereich,, wo die, Informationen hinterlegt werden
Die Internen System-Variablen über die Datenbank werden ausgelesen und in N2 zurückgegeben. N1 gibt die Variable an:
&dbRecCount Anzahl der Datensätze in der aktuellen DB
&dbFCount Anzahl der Felder in ein Datensatz
&dbMemo Besitzt der Datensatz ein Memo, so ist N2 eins, sonst NULL
$dbFName , Feld vom Feld "Feld" wird der Feld-Name zurückgegeben
$dbFType , Feld vom Feld "Feld" wird der Typ des Feldes zurückgegeben
&dbFLen , Feld vom Feld "Feld" wird die Länge des Feldes zurückgegeben.
Code: Alles auswählen
mem = AllocateMemory(16)
edbGetInfo("&dbRecCount",*mem)
return_value.s = PeekS(*mem)
Du mußt halt einfach die Strings die in der hilfe auch stehen wie z.b. &dbRecCount als string bei n1 übergeben also "&dbRecCount".
Hoffe das hat dir geholfen.
MfG Nico
- Maurizio555
- Beiträge: 53
- Registriert: 03.10.2004 10:00
- Wohnort: BW