Autor Thema: ODBC Result liefert false in einer Spalte.  (Gelesen 2831 mal)

Offline wizzardy

  • Frischling
  • *
  • Beiträge: 20
ODBC Result liefert false in einer Spalte.
« am: 06.04.06 - 14:54:38 »
Hallo!

Habe hier folgendes Problem:
Ich mache einen ODBC Zugriff auf eine Tabelle einer Datenbank.
Klappt auch soweit alles.
Aber:
In dem Resultset, welches ich als Rückgabe erhalte, kann ich alle Spalten ohne Probleme auslesen, bis auf die Erste. Diese sollte den primären Schlüssel im Format (z.B. 00000001-0008-CCDB-0060970D1B70) enthalten. Ich bekomme aus dem Resultset aber ein "False" zurück. Ideen?
Ach ja, wenn ich die Tabelle in Access importiere, hat die Spalte das Format "Text", wenn ich mir das über einen SQL Viewer anschaue, heisst das Format "Unique Identifier".

Danke
Torsten

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: ODBC Result liefert false in einer Spalte.
« Antwort #1 am: 06.04.06 - 15:12:56 »
Mit welcher Datenbank arbeitest du?

Wie sieht das SQL-Statement aus?

Mfg

R.
Rainer Zaske

MCSD - C#

Offline wizzardy

  • Frischling
  • *
  • Beiträge: 20
Re: ODBC Result liefert false in einer Spalte.
« Antwort #2 am: 06.04.06 - 15:16:47 »
MS SQL server 2000.

Das SQL ist sehr simpel und funzt eigentlich auch: "SELECT * FROM PLU"

PLU ist die Tabelle, aus der ich das Resultset auslese.

Danke
Torsten

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: ODBC Result liefert false in einer Spalte.
« Antwort #3 am: 06.04.06 - 15:27:08 »
Wie sieht es aus wenn du per ODBC von Access auf die SQL-Server-Datenbank zugreifts. Wird dann die Spalte korrekt angezeigt?

Vielleicht gibt es ein Problem mit dem ODBC-Treiber?
Rainer Zaske

MCSD - C#

Offline wizzardy

  • Frischling
  • *
  • Beiträge: 20
Re: ODBC Result liefert false in einer Spalte.
« Antwort #4 am: 06.04.06 - 15:33:32 »
Ja, ein ODBC Import in Access zeigt die Spalte bzw. die Werte korrekt an.
Der ODBC Treiber ist ja dabei der Gleiche, da auf die Gleiche Quelle zugegriffen wird...

Danke
Torsten

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: ODBC Result liefert false in einer Spalte.
« Antwort #5 am: 06.04.06 - 15:41:14 »
Ist der Schlüssel eine GUID.

Vielleicht hilft eine Konvertierung einen String im SQL-Statement.

R.
Rainer Zaske

MCSD - C#

Offline wizzardy

  • Frischling
  • *
  • Beiträge: 20
Re: ODBC Result liefert false in einer Spalte.
« Antwort #6 am: 06.04.06 - 15:52:08 »
Da stosse ich dann mal an meine SQL Grenzen.
Wie wandele ich das in einen String? (Nachträglich geht das übriges nicht, die Umwandlung in Script bewirkt gar nichts.)
Kann ich dann mit dem umgewandelten String trotzdem später in einer anderen Tabelle nach dem Schlüssel suchen? (Das muss ich auch noch machen...)

Danke
Torsten

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: ODBC Result liefert false in einer Spalte.
« Antwort #7 am: 06.04.06 - 16:11:13 »
Die Konvertierung erfolgt mit CAST oder CONVERT siehe Hilfe.

Die Konvertierung sollt nur zur Ausgabe nach Notes erfolgen. Zum Verknüpfen bitte weiterhin den Identifer nutzen.

R.
Rainer Zaske

MCSD - C#

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: ODBC Result liefert false in einer Spalte.
« Antwort #8 am: 06.04.06 - 16:15:00 »
Vielleicht von der Syntax so die Art wie die Cast Statements hier.
http://www.insidesql.de/content/view/136/
Würds aber eher mit Varchar versuchen.
Du mußt natürlich vorher im Select Statement den Stern durch die einzelnen Attribut-Namen ersetzen, aber das ist sowieso sauberer.

Axel

Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline crow

  • Frischling
  • *
  • Beiträge: 44
  • Geschlecht: Männlich
  • die null muss stehn
Re: ODBC Result liefert false in einer Spalte.
« Antwort #9 am: 11.04.06 - 12:48:45 »
hi,

wie greifst du denn auf Spalten zu ?

Cstr(ergebnis.getvalue("Feld"))
die null muss stehen

Offline wizzardy

  • Frischling
  • *
  • Beiträge: 20
Re: ODBC Result liefert false in einer Spalte.
« Antwort #10 am: 26.04.06 - 16:03:58 »
Hi!

Genau das habe ich schon probiert, nur das ich mit der Spaltennummer arbeite. Leider kein Ergebnis. Ich habe den Verdacht, das das ODBC LSX mit dem Datentyp der Keyspalte des SQL servers ein Problem hat.

Ich werde Axels Tip mal aufgreifen und die Spalte direkt als Text rüberziehen. Dann wird es aber spannend werden, ob ich das Ergebnis dann als Key für den Zugriff auf eine weitere Tabelle benutzen kann...

Weiterhin etwas ratlos....

Gruss
Torsten
« Letzte Änderung: 26.04.06 - 16:21:55 von wizzardy »

Offline wizzardy

  • Frischling
  • *
  • Beiträge: 20
Re: ODBC Result liefert false in einer Spalte.
« Antwort #11 am: 27.04.06 - 13:01:54 »
Also:

Wenn man mit Cast die Spalte im SQL Statement als Text rüberholt. dann funzt es. Danke für den Tip.

Die Abfrage lautet dann: SELECT CAST(name as CHAR(255)) as name, weitereSpaltennamen
wobei 255 die Länge des Textfeldes ist und name der Name der Spalte in der SQL DB.

Jetzt muss ich noch sehen, ob ich mit dem Text Schlüssel auch auf andere Tabellen zugreifen kann.

Gruss
Torsten

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz