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.

Oracle Datenbankproblem

Empfohlene Antworten

Hi zusammen,

ich habe mir ein Programm geschrieben, mit dem ich SQL-Befehle,

die ich in einer Datenbank hinterlegt habe auslesen und ausführen kann.

Nun hab ich aber das Problem, dass ich nicht weiß wie ich das anstellen soll,

wenn ich die SQL-Anweisung während der Laufzeit meines C++ Programmes

noch ändern will.

Z.B hab ich in der datenbank stehen:

select kundennr from kunde where Kundenort = ???

Wie kann ich dann zur Laufzeit diesen Platzhalter (???) tauschen???

danke

du liest den befehl aus der db aus und hängst per funktion den laufzeitgenerierten teil dran und führst ihn dann aus. rein logisch würd ich das so lösen - programmtechnisch weiß ich nicht ob das so einfach geht

wenn du die idee auch schon hattest, diese aber nicht umsetzbar war, dann ignorier mein post

Kannst du mir da ein beispiel Code liefern????

sql-befehl manipulieren!!

danke

der Rest funktioniert schon wunderbar!! :D

@maulwurf

schonmal danke

@bigpoint

Ich bekomme diese Daten aus meiner Datenbank.

Ich habe z.B in meiner Datenbank eine SQL-Anweisung die lautet:

SELECT COUNT(*) FROM VGE;

Diese ganze SQL-Anweisungen sind in der Datenbank anhand einer

fortlaufenden Nummer gekennzeichnet.

Wenn ich nun aber so etwas habe will wie

select kundennr from kunde where Kundenort = ???

Muss dass doch in der Datenbank wahrscheinlich so:

select kundennr from kunde where Kundenort = <<Platzhalter>>

festgehlaten werden.

Wie jedoch kann ich dann mit meinem Programm mittels Dialog oder

MessageBox den Platzhalter mit beispielsweise München ersetzten???

danke

@bigpoint

Ich bekomme diese Daten aus meiner Datenbank.

Ich habe z.B in meiner Datenbank eine SQL-Anweisung die lautet:

SELECT COUNT(*) FROM VGE;

Diese ganze SQL-Anweisungen sind in der Datenbank anhand einer

fortlaufenden Nummer gekennzeichnet.

Ach so.

Als erstens SQL Anweisungen die in DB (Tabellen) gespeichert sind finde ich nicht als besonders gute Idee (dafür gibt es Funktionen oder Prozeduren)

Wie jedoch kann ich dann mit meinem Programm mittels Dialog oder

MessageBox den Platzhalter mit beispielsweise München ersetzten???

danke

Ganz normal du liest es von Dialog aus und ersetzt den „platzhalter“ in deinem SQL Befehle (string)

Kannst du mir einen Beispielcode dafür geben??

Bin bisher noch nicht drauf gekommen, wie ich das

anstellen kann.

danke

GetDlgItemText( IDC_BEFEHL, strKey );

x_strSQL.Format("SELECT SQSTEXT FROM SQS WHERE SQSNR = %s", strKey );

cursor = m_pDatabase->OpenCursor();

m_pDatabase->PrepareAndExecute(cursor, x_strSQL, 0);

while (m_pDatabase->FetchNext(cursor))

m_pDatabase->GetFieldValue(cursor, 1, x_strValue);

Das funktioniert ja!

Aber mit dieser Funktion lese ich nur die SQL-Anweisung

aus meiner Datenbank aus.

Wie kann ich die ausgelesene SQL-Anweisung danach bearbeiten???

Sprich wie kann ich dann einen Platzhalter durch andere Daten ersetzen??

danke

Das mit der Datenbank hat wohl einige verwirrt :)

Du willst Sachen in einem Text ersetzen, in c.

schau mal auf http://anaturb.net/C/string_exapm.htm, wenn du C++ verwendest und string verwenden kannst...

str.replace(4, // start position in str

2,     // how many characters

s1);   // source for replasment
strcat hängt nur text hinten an ein char* an. Ist dein dynamisches Zeug immer am ende? dann könntest du in etwa sowas machen:

if(str[strlen(str)-1]=='?'){

	str[strlen(str)-1]=0;

	strcat(str, "eigentlich wäre PHP dafür angenehmer, weil du da strtr verwenden kannst.");

}

Deine Frage hat eigentlich nichts mit Datenbanken oder Oracle zu tun ..., oder?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.