INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

TRUE aus Datenbank (Variant) wird in -1 umgewandelt.



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

16.10.2007, 12:30 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2007 13:11 von jg.)
Beitrag #1

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Hallo,

ich hole aus meiner Datenbank die unterschiedlichsten Werte (als Variant) und wandle sie dann in einen String um. Dies funktioniert bis jetzt soweit auch, bis auf das Problem, dass bei einem "boolschen TRUE" aus der DB der Wert in "-1" umgewandelt wird.

Ich habe auch schon versucht, eine "TRUE-Konstante" am "Database Variant to Data" anzuschließen und dann über den Fehlercluster einen boolschen Wert abzufragen, aber das funktioniert nicht.

Kann mir jemand sagen, was ich da machen könnte, dass da ein True oder eine 1 drin steht?

Gruß Markus

(VI LV 8.2)


Angehängte Datei(en)
Sonstige .vi  DB_Tools_Convert_RecordsetData_To_Strings.vi (Größe: 25,09 KB / Downloads: 215)

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.10.2007, 13:44
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Keiner 'ne Ahnung? Bei NI habe ich jetzt auch mal nachgefragt.

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.10.2007, 15:00
Beitrag #3

monoceros84 Offline
LVF-Stammgast
***


Beiträge: 445
Registriert seit: Oct 2006

2011
2006
EN


Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Was soll dein VI genau machen? Der Eingang besteht bei mir nur aus folgender Nachricht:

'': OLE Variant

Variant Type -> VT_EMPTY

Am Ausgang kommt nichts raus. Wahrscheinlich fehlt mir die zugrundeliegende DB. Aber wie sieht denn der Datensatz normalerweise aus? Und was liegt am Eingang von "Variant to data" und was am Ausgang an?

Ich nehme an, eine simple Abfrage - wenn =-1, dann True - willst du nicht verwenden?!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.10.2007, 15:12
Beitrag #4

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Hab' mal 3 Screenshots beigefügt, wo man das Problem sieht. Default und 2 werden richtig konvertiert, TRUE nicht.
Die Abfrage nach -1 ist insofern nicht möglich, da auch ein "normaler" Wert -1 sein kann. Da würde die Konvertierung ja stimmen.

Gruß Markus

' schrieb:Was soll dein VI genau machen? Der Eingang besteht bei mir nur aus folgender Nachricht:

'': OLE Variant

Variant Type -> VT_EMPTY

Am Ausgang kommt nichts raus. Wahrscheinlich fehlt mir die zugrundeliegende DB. Aber wie sieht denn der Datensatz normalerweise aus? Und was liegt am Eingang von "Variant to data" und was am Ausgang an?

Ich nehme an, eine simple Abfrage - wenn =-1, dann True - willst du nicht verwenden?!


Angehängte Datei(en) Thumbnail(s)
           

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.10.2007, 15:28 (Dieser Beitrag wurde zuletzt bearbeitet: 16.10.2007 15:29 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Hallo, Markus,

ich vermute mal, dass da eigentlich alles richtig läuft. Wenn ich mich recht erinnere, wird "Logisch wahr" manchmal auch als Bitmuster "111...1" gespeichert. Der Link von Wikipedia (Suche nach 3. Auftreten von "Boolean") bestärkt mich in dieser Erinnerung.

Und das Bitmuster "111...1" ist halt, wenn es als Integer interpretiert wird, gleich -1.

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.10.2007, 15:41
Beitrag #6

monoceros84 Offline
LVF-Stammgast
***


Beiträge: 445
Registriert seit: Oct 2006

2011
2006
EN


Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Das ist in der Tat äußerst seltsam. Allerdings kann ich mich erinnern, dass es bei Visual Basic ein ähnliches Problem gibt. Lies dir dazu mal den Abschnitt "Boolescher Typ wird nciht präzise in den numerischen Typ konvertiert" auf
http://msdn2.microsoft.com/de-debrary/a...yt8(VS.80).aspx
durch.

Vielleicht hilft dir das ja, obwohl ich es kaum glaube... Das ist halt nur eine Feststellung.

Was passiert beim Umwandeln mit einer True-Konstante am VI? Eine Möglichkeit (wenn auch keine besonders tolle) wäre doch, die Umwandlung in String UND in Boolesch zu machen und wenn eine -1 heraus kommt, wird überprüft, ob am booleschen Ausgang ein True anliegt. Wenn ja, wird dies übergeben, wenn nicht, die -1. Das setzt natürlich vorraus, dass eine -1 am Eingang nicht auch zum True gewandelt wird.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.10.2007, 16:22
Beitrag #7

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Das Problem ist, dass der Boolsche Ausgang auch bei Zahlen (Integer, Double,...) "TRUE" wird.
Wenn der Ausgang nur bei "TRUE" gesetzt würde, dann würde es so funktionieren. Das habe ich aber auch schon probiert..... Ich habe es auch über das "Error-Cluster" versucht (wie meine Fallunterscheidung bei den Kommazahlen), aber es gibt auch "fehlerfreie" nicht-boolsche Werte (d.h. das Errorcluster zeigt mir auch bei normalen Werten keinen Fehler an, sondern nur wenn das Feld leer ist), so dass mir das auch nicht weiterhilft.
Das mit dem Visual Basic kann ich leider so nicht auf LabVIEW anwenden.

Gruß Markus

' schrieb:Das ist in der Tat äußerst seltsam. Allerdings kann ich mich erinnern, dass es bei Visual Basic ein ähnliches Problem gibt. Lies dir dazu mal den Abschnitt "Boolescher Typ wird nciht präzise in den numerischen Typ konvertiert" auf
http://msdn2.microsoft.com/de-debrary/a...yt8(VS.80).aspx
durch.

Vielleicht hilft dir das ja, obwohl ich es kaum glaube... Das ist halt nur eine Feststellung.

Was passiert beim Umwandeln mit einer True-Konstante am VI? Eine Möglichkeit (wenn auch keine besonders tolle) wäre doch, die Umwandlung in String UND in Boolesch zu machen und wenn eine -1 heraus kommt, wird überprüft, ob am booleschen Ausgang ein True anliegt. Wenn ja, wird dies übergeben, wenn nicht, die -1. Das setzt natürlich vorraus, dass eine -1 am Eingang nicht auch zum True gewandelt wird.

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.10.2007, 06:00
Beitrag #8

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
' schrieb:Kann mir jemand sagen, was ich da machen könnte, dass da ein True oder eine 1 drin steht?

Hi Markus,

sag mal, was steht denn eigentlich genau in der Datenbank? Ein "TRUE" als "Text" oder ne "1" als Text oder ne "1" als Numerischer Wert?

Ich erinnere mich dunkel, dass ich in dieser Richtung mal Probleme beim auslesen und umwandeln hatte, als ich Daten in ne mySQL-DB geschrieben habe...ist aber schon fast vier Jahre her, ich weiß es deswegen nicht mehr so genau!

Evtl. kannst du das mal testen und die verschiedenen Varianten reinschreiben...vielleicht hilft's was!

Viel Glück!

Achim

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.10.2007, 07:45 (Dieser Beitrag wurde zuletzt bearbeitet: 18.10.2007 07:45 von Y-P.)
Beitrag #9

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Hi Achim,

in der DB steht "TRUE" als "Boolean".
Ich habe nun folgende (angehängte) Lösung gefunden. Da habe ich zwar ein bisschen improvisieren müssen, aber es funktioniert.
Der Grund wieso da -1 angezeigt wird, würde mich zwar auch interessieren, aber die Hauptsache ist, dass es jetzt funktioniert.

Gruß Markus

' schrieb:Hi Markus,

sag mal, was steht denn eigentlich genau in der Datenbank? Ein "TRUE" als "Text" oder ne "1" als Text oder ne "1" als Numerischer Wert?

Ich erinnere mich dunkel, dass ich in dieser Richtung mal Probleme beim auslesen und umwandeln hatte, als ich Daten in ne mySQL-DB geschrieben habe...ist aber schon fast vier Jahre her, ich weiß es deswegen nicht mehr so genau!

Evtl. kannst du das mal testen und die verschiedenen Varianten reinschreiben...vielleicht hilft's was!

Viel Glück!

Achim


Angehängte Datei(en)
Sonstige .zip  DB_Tools_Convert_RecordsetData_To_Strings_Folder.zip (Größe: 115,04 KB / Downloads: 168)

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.10.2007, 07:50
Beitrag #10

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
TRUE aus Datenbank (Variant) wird in -1 umgewandelt.
Hm...also doch die Variante, die monoceros vorgeschlagen hatte...

Haste mal meine Vorschläge probiert? Ich meine, ich hab's damal so hingekriegt, indem ich nen anderen Typ in der DB abgelegt hatte...

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  einen variant data LOOP galilio 2 5.022 09.09.2016 12:12
Letzter Beitrag: galilio
  Variant aus Datenbank --> Datentyp Anna1988 3 5.239 15.05.2014 11:07
Letzter Beitrag: rolfk
  Variant-Daten in TXT-File speichern und wieder laden. thomhof0 3 7.185 04.10.2011 08:36
Letzter Beitrag: GerdW
  ADO Variant to Timestamp olum 1 4.639 23.08.2011 10:12
Letzter Beitrag: Y-P
  (Database) Variant to Data? macmarvin 2 6.644 19.01.2011 08:48
Letzter Beitrag: macmarvin
  Variant-Daten nach CSV tanka 4 5.018 30.08.2010 16:02
Letzter Beitrag: tanka

Gehe zu: