Deutsch
Forum

Memo Feld in SQL?

 

Sato
Pinto
Hallo Xprofaner

In meinen alten Programm arbeite ich mit Profan dbf dateien und das funktioniert gut doch jetzt schreibe ich das Programm neu und möchte endlich alles mit SQL machen und habe schon den ersten Problem mit den Memo Feld der in SQL wahrscheinlich nicht existiert.

im alten programm mache ich das so, um das Memo des Datensatz in die Profan Listbox darzustellen
KompilierenMarkierenSeparieren
@DBGETMEMO("TNOTAS")

If @EditBox("Apontamentos suplementares sobre o técnico",1)

    @dbPutMemo("TNOTAS")

EndIf


Wie wird das in SQL gemacht?

Danke für Eure Hilfe

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
18.08.2008  
 




Gerhard
Praher
Hallo Sato,

bei DBF-Datenbanken sind die Memofelder immer in einer eigenen Datei.
Dies gilt sowohl für jene die aus dBase erstellt werden, wie auch für jene aus Clipper oder deren Derivaten.
In SQL-Datenbanken sind die Memofelder ein Feldtyp einer Tabelle.
Das heißt, dass sich ein Memofeld von einem Textfeld, oder nummerischen Feld (als Beispiele gedacht)
eben nur durch den Feldtyp "Memo" unterscheiden.
Meistens haben diese Felder (wie zB. bei MS-Access) eine Größe von 64 KB.
Da sie also regulärer Bestandteil einer Tabelle sind, werden sie auch so angesprochen wie jedes andere Feld
der Tabelle.
Beispiel für eine Selektion aller Felder einer Tabelle (die ich hier mal Testtabelle nenne):
Select * From Testtabelle
Nehmen wir an das Memofeld heißt "MemoFld" und du willst nur dieses eine Feld selektieren, dann lautet der SQL-Befehl:
Select MemoFld From Testtabelle

Ich hoffe, das hilft dir ein bisschen weiter.
Gerhard
 
Windows XP Pro, SP3
Jetzt: XProfan 11
Was ich liebe sind 3 "F": meine Familie, meine Firma, meine Freizeit.
18.08.2008  
 




Sato
Pinto
Hallo Gerhard

Habe nicht ganz Verstanden, wie und wo muss ich den Memo Feld in Create Table definieren?
KompilierenMarkierenSeparieren
sql$ = "CREATE TABLE buecher (titel CHAR(40), autor CHAR(40), preis NUMBER)"

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
18.08.2008  
 




Thomas
Zielinski

KompilierenMarkierenSeparieren
Ungefähr da.
Gruß Thomas
 
XProfan X4; Win10 x64
Der Kuchen ist eine lüge!
19.08.2008  
 




Gerhard
Praher
Hallo Sato,
hier eine kurze Aufstellung der Entsprechungen für den Datentyp Memo:
Bei MySQL heißt er LONGTEXT.
Bei Firebird heißt er BLOG.
Bei SQL-Server heißt er TEXT.
Und bei PostgreSQL heißt er ebenfalls TEXT.

Um einfach mal die gängigsten zu nennen.
Also wenn ich dein Beispiel hernehme und um ein Memofeld für Notizen erweitere
sieht das so aus:
KompilierenMarkierenSeparieren
sql$ = "CREATE TABLE buecher (titel CHAR(40), autor CHAR(40), preis NUMBER, notizen TEXT)"

Oder eben LONGTEXT oder BLOG - je nachdem welche SQL-Datenbank du verwendest.

Gruß Gerhard
 
Windows XP Pro, SP3
Jetzt: XProfan 11
Was ich liebe sind 3 "F": meine Familie, meine Firma, meine Freizeit.
19.08.2008  
 




Sato
Pinto
Hallo

Habe die Varianten versucht, alle Fehlerhaft,
KompilierenMarkierenSeparieren
DB& =SQLInit("Driver={Microsoft dBase Driver (*.dbf)};DBQ="+$ProgDir)

IFnot DB& > 0

    @MessageBox("Fehler bei initializierung des driver OBDC.","Fehler OBDC",64)
    Return

endif

@MessageBox("Inicialização do driver OBDC.","OK",64)
waitinput
sql$ = "CREATE TABLE buecher (titel CHAR(40), autor CHAR(40), preis NUMBER, notas LONGTEXT)"
sql$ = "CREATE TABLE buecher (titel CHAR(40), autor CHAR(40), preis NUMBER, notizen TEXT)"
sql$ = "CREATE TABLE buecher (titel CHAR(40), autor CHAR(40), preis NUMBER, notizen LONGTEXT)"
sql$ = "CREATE TABLE buecher (titel CHAR(40), autor CHAR(40), preis NUMBER, notizen BLOG)"
SQLExec sql$,0

Noch Ideen?

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
19.08.2008  
 




Gerhard
Praher
Hallo Sato,

also mir ist nicht bekannt, daß dBase eine SQL Datenbank ist.
Also werden in und mit diesem Treiben SQL-Statements nicht unterstützt.
Die einzige dBase-Version, die mir gerade einfällt, die das kann ist: dBase IV SQL.
Ich würde mal sagen: Da liegt der grundsätzliche Fehler.

Gerhard
 
Windows XP Pro, SP3
Jetzt: XProfan 11
Was ich liebe sind 3 "F": meine Familie, meine Firma, meine Freizeit.
19.08.2008  
 




Gerhard
Praher
Nachdem du geschrieben hast, daß du alles in SQL machen willst,
bin ich nicht davon ausgegangen, daß es wieder DBF ist.
Die Verwendung von ODBC für dBase-Dateien macht diese noch lange nicht
zu einer SQL-Datenbank.

Bitte überdenke das grundsätzlich.
Die einfachste Form einer SQL-Datenbank ist MS-Access (.MDB).
Damit kannst du, ähnlich wie bei dBase, die Datenbankdatei auf dem lokalen
Rechner in einem bestimmten Ordner halten.
Bei allen anderen (SQL-Servern) ist die entsprechende Serversoftware erforderlich.

Wollte das nur ergänzend anmerken.

Gruß Gerhard
 
Windows XP Pro, SP3
Jetzt: XProfan 11
Was ich liebe sind 3 "F": meine Familie, meine Firma, meine Freizeit.
19.08.2008  
 




Sato
Pinto
Hallo Gehard

Danke für die Erklärung

Gruss
Sato
 
Sato Pinto
WIN XP Home
XPROFAN 11
19.08.2008  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.605 Betrachtungen

Unbenanntvor 0 min.
H.Brill03.11.2019
Torben Nissen08.02.2019
XpKurt21.01.2015
Unbenannt03.09.2012
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie