AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umlaute in Interbase

Ein Thema von michael.cohrs · begonnen am 6. Dez 2005 · letzter Beitrag vom 6. Dez 2005
Antwort Antwort
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#1

Umlaute in Interbase

  Alt 6. Dez 2005, 16:58
Datenbank: Interbase • Zugriff über: SQL
Guten Tag zusammen (und danke Chaho für die bisherige Hilfe)

ich habe eine Datenbankanwendung geschrieben die eine Art benutzerverwaltung darstellt. Nun gelingt es mir in IB Expert auch Namen mit Umlauten zu schreiben. Sobald ich jedoch das ganze im Quellcode versuche bekomme ich diese seltsame Fehlermeldung:

1Ausführung misslungen. arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets

Ich nutze folgenden Quellcode um in die Datenbank zu schreiben:
Delphi-Quellcode:
bdpDataAdapter1.Active := False;
BdpCommand1.CommandText := 'INSERT Into CUSTOMER (ID_KEY,PREIS_ID,FIRMA,STRASSE,PLZ,ORT,TELEFON,FAX,MAIL) VALUES(' +
Record_Count_STR + ', ' +
PREIS_ID + ', ' +
Strich + FIRMEN_NAME + Strich + ', ' +
Strich + STRASSE + Strich + ', ' +
POSTLEITZAHL + ', ' +
Strich + ORT + Strich + ', ' +
Strich + TELEFON + Strich + ', ' +
Strich + FAX + Strich + ', ' +
Strich + MAIL + Strich + ') ';
try
SAVED := BdpCommand1.ExecuteNonQuery;
except
on E: Exception do
Begin
Response.Write(E.Message);
ALL_OK := FALSE;
end;
end;
if ALL_OK then
Begin
bdpDataAdapter1.Active := TRUE;
Write_New_Mitarbeiter( FIRMEN_NAME );
Load_Session := FALSE;
end;;

in der Variable STRICH sind die Hochkommatas für die Strings enthalten.

Weiß jemand wie ich auch im Quelltext die Umlaute schreiben kann?


Vielen Dank

Michael

[edit=Luckie]Delphi-Tags gesetzt. Beim nächsten mal bitte selber machen. Danke. Mfg, Luckie[/edit]
Michael Cohrs
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Umlaute in Interbase

  Alt 6. Dez 2005, 17:57
1. Frage : ist die DB als Dialect 3 angelegt ?

Die Hauptfrage ist allerdings folgende :

Wer ist zuständig fürs abspeichern ? Dein Programm oder die DB ? Wo können Fehler auftreten und wann merkt man die ?

Ist es tatsächlich gut, ein SQL-Statement im Source zu haben, oder eher solche Konstrukte :

Delphi-Quellcode:
  PreisSP.ParamByName('ID_KUNDE').AsInteger := StrToInt (idkunde);
  PreisSP.ParamByName('ID_ART').AsInteger := StrToInt (idart);
...
  PreisSP.ExecProc;
Die dahinter steckende Stored Procedure hat folgende Vorteile : im Source kann ich mich mit ''""'"'"'"" Quoted ??? nicht mehr verzetteln (zumindest mit Dialect 3). Vor allem aber ist es möglich die SP (vor der Verwendung im Programm) in IBExpert zu testen. Und wenn sie dann geht, dann kann man sie verbauen. Auch Dein im Source zusammengesetztes Insert würde ich zuerst mal in IBExpert testen. Wenns sein muß, dann notfalls 1:1 per C+P im Source anpassen. Eine SP anzulegen ist IMHO aber immer besser bzw. sicherer.

Leider ist so was immer noch sehr beliebt (zumindest hier) : z.B. baut man ein Flugzeug und wenn es abstürzt, dann guckt man mal, warum. Anstatt vorher alle Einzelteile zu überprüfen und das Teil dann erst zusammenzubauen.
Gruß
Hansa
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#3

Re: Umlaute in Interbase

  Alt 6. Dez 2005, 21:17
Danke für die Hilfe, leider ist es so das ich mit Stored Procedure noch nichts gemacht habe, wie rufe ich sie unter .net auf? Es wäre nett wenn Du mir ein wenig auf die Sprünge helfen kannst.

Gruß

Michael
Michael Cohrs
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Umlaute in Interbase

  Alt 6. Dez 2005, 22:12
.NET spielt dabei wohl keine Rolle. Wie man sie aufruft steht weiter oben. Probiere es in IBExpert einfach aus. Übung macht immer noch den Meister.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


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 07: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