Leerer String
-
hi
ich hab nen problem
und zwar will ich eine tabelle auslesen die 2 felder hat:
einmal objname und einmal sollcodein objname steht immer was drin
in sollcode kann es vorkommen das nichts im sinne von '' drin stehtnun wollt ich das wie folgt machen:
_RecordsetPtr pRecordset; CString select_string="Select * FROM ARGUS.SYSOBJECTS where sgid='"+hid+"' and status=1"; pRecordset=DBSelectNow(select_string); while (!pRecordset->GetadoEOF()){ objname = (char *) (_bstr_t) pRecordset->Fields->GetItem ("objname")->Value; sollcode = (char *) (_bstr_t) pRecordset->Fields->GetItem ("targetcode")->Value; }
das funktioniert aber nicht da er mir bei der sollcode zeile abstürzt wenn da nichts drin steht ...
wie kann ich das abfangen ???
thx für hilfe
LT
-
Hallo,
du kannst den Status abfragen:
http://msdn.microsoft.com/en-us/library/ms675133(VS.85).aspx
der einen dieser Werte hier:
http://msdn.microsoft.com/en-us/library/ms681012(VS.85).aspx
annehmen kann.
MfG,
Probe-Nutzer
-
moin
hmmm jo ich denke das geht in die richtige richtung... aber so wirklich verstehn tu ich die msdn nicht ...
also was ich schon versucht hab:
if(sollcode = (char *) (_bstr_t) pRecordset->Fields->GetItem ("targetcode")->Value.vt ==NULL){ sollcode=""; }
das hat aber leider nicht funktioniert ...
der ist mir nicht in die if abfrage rein gegangen ...selbst als ich in der select abfrage dafür gessorgt hab das da '' drin steht, ging er nicht in die if abfrage...
derzeit hab ich das so gelöst:
CString select_string="Select objname, nvl(targetcode, '-1') as targetcode_1 FROM ARGUS.SYSOBJECTS where sgid='"+hid+"' and status=1"; pRecordset=DBSelectNow(select_string); while (!pRecordset->GetadoEOF()){ objname = (char *) (_bstr_t) pRecordset->Fields->GetItem ("objname")->Value; sollcode = (char *) (_bstr_t) pRecordset->Fields->GetItem ("targetcode_1")->Value; if(sollcode.Compare("-1")==0){ sollcode=""; } }
nicht sonderlich schön aber es geht
-
LordTerra schrieb:
hi
ich hab nen problem
und zwar will ich eine tabelle auslesen die 2 felder hat:
einmal objname und einmal sollcodein objname steht immer was drin
in sollcode kann es vorkommen das nichts im sinne von '' drin stehtDas übliche Vorgehen ist es, daß man nicht vorhandene Einträge mit NULL in der Datenbank umsetzt, und NULL ist nun einmal kein Leerstring. Ist das Feld auf "NOT NULL" gesetzt, oder nimmst Du nur an, daß dem so sei?