Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hilfe

Ich habe ein Progi geschrieben der mit einem Datenbank Sybase zusammen arbeitet der liest ein Wert aus dem Prog dann sucht im DB und die Werte ausgibt nun wenn ich aber ein Wert mit 099999 eingebe funk es nicht und wenn nur 9999 dann geht’s im DB ist auch nur 99999 aber der Wert ist als long und es ist doch egal ob ich 0 vorne schreibe oder nicht ?? weiter gesehen habe ich noch drei Buttons die wenn gefunden sollen entweder lösche oder usw. die sind aber tot auch beim Debug reagieren und die Methode ich eigentlich ganz simpel also void lalalla(); die nicht wenn ich den Wert 9999 eingebe bei allen anderen funk ;-(

Hat jemand eine Idee warum ?????

Als erstes möchte ich Dich bitten, demnächst einen Betreff zu wählen, der Dein Problem beschreibt. "Hilfe" sucht hier in etwa jeder zweite, der einen Thread aufmacht.

Zweitens wäre es nett, wenn Du nicht sämtliche Satzzeichen am Ende Deines Beitrags konzentrieren würdest ;). Es ist kaum zu erkennen, was Du meinst. Ein paar Fragezeichen am Ende weniger, dafür ein paar Punkte und Kommate mittendrin mehr, und gleich wird die Hilfsbereitschaft der anderen Benutzer steigern.

Aber zum Eigentlichen (soweit ich das herauslesen konnte):

Ist es jetzt 9.999 oder 99.999?

Wie wertest Du die eingegebenen Daten aus?

Was meinst Du mit "tot"? ist der Button disabled (also grau), oder geschieht nur nichts, wenn man draufklickt?

  • Autor
Original geschrieben von Klotzkopp

Vieln Dank für den Typ und sorry für die sämtliche Satzzeichen am Ende war nicht ironisch gemeint nein es ist nicht 9.99 und nicht 99.99 wo ich auch kein Unterschied sehe sondern 9999 ohne kommer, und so werte ich die Daten aus:

GetDlgItemText(IDC_IdentNr, sIdentNr); sIdentNr.TrimLeft(); sIdentNr.TrimRight();

GetDlgItemText(IDC_Nachname, sNachname); sNachname.TrimLeft(); sNachname.TrimRight();

GetDlgItemText(IDC_Vorname, sVorname); sVorname.TrimLeft(); sVorname.TrimRight();

GetDlgItemText(IDC_PLZ, sPLZ); sPLZ.TrimLeft(); sPLZ.TrimRight();

GetDlgItemText(IDC_Ort, sOrt); sOrt.TrimLeft(); sOrt.TrimRight();

sQuerry.Format("(IDENTKZ = %d)", m_lStatus);

if (sIdentNr.GetLength() > 0) sQuerry += " AND (IDENTNR LIKE '" + sIdentNr + "')";

if (sNachname.GetLength() > 0) sQuerry += " AND (NACHNAME LIKE '" + sNachname + "')";

if (sVorname.GetLength() > 0) sQuerry += " AND (VORNAME LIKE '" + sVorname + "')";

if (sPLZ.GetLength() > 0) sQuerry += " AND (PLZ LIKE '" + sPLZ + "')";

if (sOrt.GetLength() > 0) sQuerry += " AND (ORT LIKE '" + sOrt + "')";

und es geschieht nur nichts, wenn man auf dem Button draufklickt aber nur bei der Zahl

:confused:

Um welches Feld handelt es sich denn? IDENTNR oder PLZ? Jedenfalls könnte es daran liegen, dass Du LIKE verwendest, wodurch m.W. ein Stringvergleich gemacht wird. Und da macht die führende Null durchaus einen Unterschied.

Versuch bitte mal, bei dem betreffenden Feld die einschließenden Hochkommata wegzulassen, und statt LIKE = zu verwenden:

if (sPLZ.GetLength() > 0) sQuerry += " AND (PLZ = " + sPLZ + ")";

(falls PLZ das long-Feld ist)

  • Autor
Original geschrieben von Klotzkopp

Um welches Feld handelt es sich denn? IDENTNR oder PLZ? Jedenfalls könnte es daran liegen, dass Du LIKE verwendest, wodurch m.W. ein Stringvergleich gemacht wird. Und da macht die führende Null durchaus einen Unterschied.

Versuch bitte mal, bei dem betreffenden Feld die einschließenden Hochkommata wegzulassen, und statt LIKE = zu verwenden:

if (sPLZ.GetLength() > 0) sQuerry += " AND (PLZ = " + sPLZ + ")";

(falls PLZ das long-Feld ist)

Klotzkopp Du bist genial ;-) der nimmt die 0 jetzt problemlos, aber die Buttons sind nach wie vor tot dh. man kann sie klicken aber er spring nicht rein ;-( auch größere Zahlen wie zb. Die 300200115 obwohl sie in DB stehen findet er nicht da der Quellcode von löschen

void CVPDlg::OnVPLoeschen()

{

CString sVPID;

CString sIdentNr;

CString sNachname;

CString sVorname;

CString sPLZ;

CString sOrt;

CString sStrasse;

CString sNummer;

CString sInstitution;

CString sAnrede;

CString sTitel;

GetDlgItemText(IDC_VPID, sVPID);

GetDlgItemText(IDC_IdentNr, sIdentNr);

GetDlgItemText(IDC_Nachname, sNachname);

GetDlgItemText(IDC_Vorname, sVorname);

GetDlgItemText(IDC_PLZ, sPLZ);

GetDlgItemText(IDC_Ort, sOrt);

GetDlgItemText(IDC_Strasse, sStrasse);

GetDlgItemText(IDC_Nummer, sNummer);

GetDlgItemText(IDC_Institution, sInstitution);

GetDlgItemText(IDC_Anrede, sAnrede);

GetDlgItemText(IDC_Titel, sTitel);

//VP gewählt

if (atof(sVPID) <= 0)

{ MessageBox("Bitte zuerst Arzt/Apotheke auswählen [VP-ID]", "Auswahlfehler");

return;

}

//Sicherheitsabfrage

switch (m_lStatus)

{ case 0: sMsg.Format (IDS_TEXT8, sVPID, sIdentNr); break;

case 3: sMsg.Format (IDS_TEXT9, sVPID, sIdentNr); break;

}

if (MessageBox(sMsg, "Sicherheitsabfrage", MB_YESNO) != IDYES) return;

//VP Löschen

SetWork(1, "Vertragspartner wird gelöscht..." );

TRY

{ sMsg.Format("DELETE FROM VERTRAGSPARTNER WHERE VP_ID = %s", sVPID);

m_pDatenbank->ExecuteSQL(sMsg);

MessageBox("Der Datzensatz wurde fehlerfrei gelöscht." , MB_OK);

//Anzahl Vertragspartner

SetAnzahl();

ClearReposition(); //Feldinhalte löschen

}

CATCH(CDBException, e)

{ MessageBox (GetsText(IDS_TEXT1, e), "Fehler Datenbank öffnen",MB_ICONSTOP);

e->Delete();

}

END_CATCH

SetWork(0, "Bereit...");

}

  • Autor

Hallo,

mit grossen Zahlen funk schon jetzt ;-)

Jetz habe ich auch fest gestelt dass, die Buttons nur dan nicht funk wenn im Dialog kein

sIdentNr vorhande ist oder mehrmals, aber warum weis ich nicht ;-(

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.