Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Integer (lang) in Datenbank speichern (https://www.delphipraxis.net/6140-integer-lang-datenbank-speichern.html)

TimmA 1. Jul 2003 07:02


Integer (lang) in Datenbank speichern
 
Hallo,

ich habe ein kleines Prog, was u.A. eine Notizfunktion hat. Dort wird die Notiz, zusammen mit dem Betreff und dem User der sie geschrieben hat usw. gespeichert für die Notiz selber hab ich den Datentyp Interger (lang) gewählt nur jetzt weiß ich nicht wie der Code aussieht um das als Integer in der Datebank (Paradox7) zu speichern, ich hoffe das geht :?

Delphi-Quellcode:
table4.FieldByName('Notiz') .as?(Memo6.Lines);

Der Rest funktioniert nur das eben noch nicht durch die Delphi-Hilfe bin ich nicht schlauer geworden und über die Suchfunktion hab ich nix gefunden :( .

Hoffe Ihr könnt mir helfen :wink: , danke schonmal !

sakura 1. Jul 2003 07:04

Re: Integer (lang) in Datenbank speichern
 
Wenn ich mich nicht täusche, dann geht das mit der Eigenschaft Value.
Delphi-Quellcode:
table4.FieldByName('Notiz') .Value := Memo6.Text;
Ich und DBs :roll:

...:cat:...

TimmA 1. Jul 2003 07:14

"Fehler : Im Projekt1.exe ist eine Execption der Klasse EVariantInvalidArgError aufgetrefen. Meldung : 'Ungültiges Argument'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen "
:(

TimmA 1. Jul 2003 14:26

Hallo,

ich will nicht nerven, aber weiß keiner wie ich das machen könnte ?

Sharky 3. Jul 2003 08:38

Zitat:

Zitat von TimmA
Hallo,

ich will nicht nerven, aber weiß keiner wie ich das machen könnte ?

Hai TimmA,

hast Du es denn schon mit

.AsInteger versucht?

Wobei ich nicht verstehe warum Du eine Notiz (Text) als Integer speicherst?

Der Text müsste ja vie

FieldByName('notiz').AsString := Memo1.Text

in die Tabelle.

TimmA 3. Jul 2003 09:06

Hallo,

.AsInteger


geht nicht :(

Ich habe jetzt mal das Dem Feld in der Datenbank den Datentyp String zugewiesen nun sagt er :

Inkompatible Typen : 'String' und 'TString'


TString :?:

Wie wandel ich TString in String um ? :roll:

sakura 3. Jul 2003 09:08

Wirklich TString oder vielleicht TStrings :?:

...:cat:...

TimmA 3. Jul 2003 09:11

HI,

Tstrings


Sorry :roll:

sakura 3. Jul 2003 09:13

Kein Problem, dann versuche mal:
Delphi-Quellcode:
table4.FieldByName('Notiz').AsString := Memo6.Text;
...:cat:...

TimmA 3. Jul 2003 09:23

so gehts es danke schonmal :)

nur kann jetzt die Notiz nur 255 Zeichen enthalten und das ist eigentlich zu wenig :( Deswegen habe ich es erst mit Integer (lang) versucht.

Sharky 3. Jul 2003 09:27

Zitat:

Zitat von TimmA
....nur kann jetzt die Notiz nur 255 Zeichen enthalten und das ist eigentlich zu wenig ...

Hmmm.... bei meinem MS-SQL Server kann ich Text bis 2 GByte abspeichern.

Mit Paradox arbeite ich nicht aber dort gibt es doch auch einen Feldtyp für Text oder?

sakura 3. Jul 2003 09:35

Ich denke mal, daß Du das Feld notiz als STRING/CHARACTER definiert hast, damit ist es auf 255 Zeichen beschränkt. Ändere mal den Typ auf MEMO/BLOB, damit sollte mehr Platz (ich glaube 64K) pro Datensatz sein.

...:cat:...

P.S.: Integer/Lang ist für Zahlen, nicht für Text. ;-)

TimmA 3. Jul 2003 09:50

Zitat:

Zitat von sakura
P.S.: Integer/Lang ist für Zahlen, nicht für Text. ;-)

Ups, da habe ich wohl was verwechselt :oops:


Zitat:

Zitat von sakura
Ändere mal den Typ auf MEMO/BLOB, damit sollte mehr Platz (ich glaube 64K) pro Datensatz sein.

Wenn ich Memo in der Datenbankoberfläche auswähle, dann sagt er mir :
"Anzahl der in der .DB gespeicherten Zeichen angeben ( 1 bis 240 ). Das vollständige Memo wird in der .MB gespeichert"

:(

sakura 3. Jul 2003 09:54

Zitat:

Zitat von TimmA
Wenn ich Memo in der Datenbankoberfläche auswähle, dann sagt er mir :
"Anzahl der in der .DB gespeicherten Zeichen angeben ( 1 bis 240 ). Das vollständige Memo wird in der .MB gespeichert"

Anders geht es bei Paradox aber nicht :roll:

...:cat:...

TimmA 3. Jul 2003 10:03

Hi,

ich habe da jetzt mal max. 240 eingegeben.
Komischerweise gehen trotzdem viel mehr, naja muss ich nicht verstehen, Hauptsache es geht :). Danke nochmal an alle :mrgreen:

sakura 3. Jul 2003 10:18

Zitat:

Zitat von TimmA
ich habe da jetzt mal max. 240 eingegeben.
Komischerweise gehen trotzdem viel mehr, naja muss ich nicht verstehen,...

Du darfst aber verstehen ;-) In einer Datenbank gibt es für jeden Datensatz eine maximale Größe x (z.B. 4KB), in diesem Speicherplatz muss alles zu einem Datensatz gespeichert werden. Wird Platz für größere Datenmengen, z.B. BLOB/MEMO, benötigt, werden diese Daten an anderer Stelle hinterlegt (z.B. diese .MB Datei). Im Datensatz selbst wird lediglich ein Verweis auf den eigentlichen Datenort gespeichert. Paradox ermöglicht zusätzlich noch die Ablage der ersten X Zeichen, um die Suchgeschwindigkeit zu verbessern. Ausserdem geht es wohl (?), daß man sich nur diese ersten Daten zurückgeben lässt, um dem User einen Einblick zu gewähren, was schneller ist als stets alle Daten zurückzuliefern. Die werden dann erst bei Bedarf (automatisch) herangezogen.

...:cat:...

TimmA 3. Jul 2003 10:22

Aaaha :idea:,

danke für die Erklärung :wink:

sakura 3. Jul 2003 10:35

Gern geschehen. :wink:

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz