Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Bekomme nur die esten 2 Zeichen vom Textfeld (https://www.delphipraxis.net/114620-bekomme-nur-die-esten-2-zeichen-vom-textfeld.html)

GroHae 28. Mai 2008 12:18

Datenbank: MSSQL • Zugriff über: DBX4

Bekomme nur die esten 2 Zeichen vom Textfeld
 
Hallo zusammen,

ich bin am Verzweifeln:

Ich greife auf eine Tabelle zu welche u.A. ein Memofeld beinhaltet (MSSQL - Server Feldtyp ntext).

Auf meinem Rechner klappt alles, ich sehe den ganzen Text. Wenn ich das Programm dann auf den Server laufen lasse bekomme ich vom Text nur die ersten 2 Zeichen wieder. (Wenn ich den Datentyp auf text änder bekomme ich die ersten 4 Zeichen)

Ich habe ein kleines Testprogramm geschrieben und habe da das selbe Problem.

Hilfe!!! :pale:


Delphi-Quellcode:



procedure TfrmMainMenue.Button3Click(Sender: TObject);
var
  MyConnectionFactory: TDBXConnectionFactory;
  MyConnectionProperties: TDBXProperties;
  DB_Test : TDBXConnection;

  MyCommand : TDBXCommand;

  MyReader : TDBXReader;

begin

 MyConnectionFactory := TDBXConnectionFactory.GetConnectionFactory;
 MyConnectionProperties := MyConnectionFactory.GetConnectionProperties('BFS');
 DB_Test := MyConnectionFactory.GetConnection(MyConnectionProperties);

 MyCommand := DB_Test.CreateCommand;
 MyCommand.Parameters.ClearParameters;
 MyCommand.Text := 'SELECT * FROM KostenPlanungKommentar';
 MyReader := MyCommand.ExecuteQuery;

 FillListView1(MyReader);

 while MyReader.Next do
 begin
   ...
   ShowMessage(MyReader.Value['Kommentar'].GetWideString); // Hier werden nur die ersten 2 Zeichen zurückgegeben
   ....
 end;
 MyCommand.Free; // wieder freigeben...

end;

RavenIV 28. Mai 2008 12:45

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Warum verwendest Du GetWideString?
Ich kenn zwar die verwendeten Komponenten nicht, aber es gibt doch bestimmt ein .AsString oder ein .GetString oder so.

GroHae 28. Mai 2008 13:18

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Ne das ist schon richtig so.

Mann greift die Daten über den TDBXReader so ab.

GroHae 29. Mai 2008 07:50

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hab die Lösung gestern Abend noch gefunden:

Das Problem taucht nur auf bei Tabellen mit einem Memofeld. Wenn es mehr sind klappt alles. Wenn ich jetzt bei den entsprechenden Tabellen eine zusätzliches Dummy-Memofeld einfüge klappts.

Ich bilde mir auch ein ich hätte irgendwo mal was gelesen was in diese Richtung ging. (Allerdings ging es da nicht um Delphi/DBX4/MSSQL sondern irgendwas mit PHP)

Denke mal da fehlt irgendwo auf dem entsprechenden Server ein Update, da das Programm auf allen anderen Rechnern problemlos lief.

Kennt wer das Problem?

QuickAndDirty 29. Mai 2008 08:05

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
wow,
Da ist die BDE weg und es geht erneut los.

GroHae 29. Mai 2008 08:08

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Genau!

Hab nämlich vor einer Woche umgestellt ;-)

QuickAndDirty 29. Mai 2008 08:13

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Darf ich erfahren auf was?
(Wir sind noch an der Umstellung)

DBX mit welcher DB ???

Das erinnert mich an so coole Fehler wie hohe werte in große Indizes einszusetzen weil Range auf einmal wie
ein exclusiveRange funktioniert etc...

GroHae 29. Mai 2008 08:52

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Die Datenbank ist gleich geblieben: MSSQL Server2000 auf Windows 2000 Server
Delphi2007 mit DBX4 (ich nutzte in meiner Hauptanwendung nur die nicht-visuelle-Komponenten TDBXConnection,TDBXCommand,TDBXReader)

Die Umstellung lief ganz gut. Das hier war bis jetzt das einzige wirkliche Problem.

QuickAndDirty 29. Mai 2008 09:05

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Aber man muss unter DBX wieder workarounds bauen ja?

GroHae 29. Mai 2008 11:34

Re: Bekomme nur die esten 2 Zeichen vom Textfeld
 
Da musste ich jetzt erst mal in WiKi nachschauen was du meinst ;-)

hm.. na ja..

Notlösungen sind das täglich Geschäft ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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