AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi warum definierte varchar-größe egal?
Thema durchsuchen
Ansicht
Themen-Optionen

warum definierte varchar-größe egal?

Ein Thema von sancho1980 · begonnen am 28. Mär 2006 · letzter Beitrag vom 28. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:12
Datenbank: interbase • Version: 6.5 • Zugriff über: ibx, ibexpert
hallo,
ich hab mal eine frage:
ich arbeite an einer delphi-anwendung, welche auf eine interbase-datenbank zugreift.
nun gibt es in dieser datenbank eine domain varchar_80 definiert mit varchar(80)
der zeichensatz ist unicode_fss und ich benutze für die darstellung der datenbankfelder in delphi die unicode-fähigen tnt-controls
mir ist aufgefallen, dass es trotzdem möglich ist, in diese felder strings mit mehr(!!) als 80 zeichen zu speichern
wie kommt das?
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:22
Die Beschränkung gilt nur in der Datenbank. In der Datenbank werden die Strings dann aber auf 80 gekürzt. Wenn du verhindern willst, daß "zu lange" Strings eingegeben werden mußt du im Eingabecontrol verhindern.
Markus Kinzler
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#3

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:30
genau das ist das eigenartige:
wenn ich den string poste und die datenbank schließe und wieder öffne ist er immer noch genauso lang!!!
meine vermutung war, dass es irgendwie mit der unicode-geschichte zusammenhängt...aber wie?!?!
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:35
Du kannst in ein Datenbankfeld welches 80 Zeichen lang ist mehr als 80 Zeichen einfügen?
Markus Kinzler
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#5

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:36
genau das meine ich
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:44
Zitat:
meine vermutung war, dass es irgendwie mit der unicode-geschichte zusammenhängt...aber wie?!?!
Unicode heißt ja eigentlich nur das pro Zeichen mehr als 8 Bit zur Verfügung stehen.

Ich habe mal zum test im IBExpert eine FB Daten mit einem Varchar Feld mit Zeichensatz unicode_fss angelegt. Hier werden nur die beschränkte Menge angenommen.
Markus Kinzler
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#7

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:49
kennst du die tnt-controls für delphi?
scheint irgendwas mit der übersetzung nicht ganz zu funktionieren?
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:51
Kannst du im IBExpert auch längere Zeichenketten eingeben?
scheint irgendwas mit der übersetzung nicht ganz zu funktionieren? Du meinst dass er mehrere (ASCII-)Zeichen in eine Unicodezeichen schreibt?
Markus Kinzler
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#9

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 16:55
so ungefähr
aber eigentlich sind die tnt-controls ja unicode-fähig
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#10

Re: warum definierte varchar-größe egal?

  Alt 28. Mär 2006, 18:03
Hi,

Zitat von sancho1980:
genau das ist das eigenartige:
wenn ich den string poste und die datenbank schließe und wieder öffne ist er immer noch genauso lang!!!
meine vermutung war, dass es irgendwie mit der unicode-geschichte zusammenhängt...aber wie?!?!
kann es sein, dass der Wert "einfach noch drin" steht? Oder beendest du dein Programm, startest neu und hast wieder den kompletten String? Würde mich allerdings sehr wundern!
Gruß
Norman
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 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