Qt und Gespeicherte Prozeduren in Datenbanken.

Alles rund um die Programmierung mit Qt
Antworten
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Qt und Gespeicherte Prozeduren in Datenbanken.

Beitrag von BartSimpson »

Hallo, ich wollte gespeicherte Prizeduren einsetzen um das das Programm übersichlicher zu gestalten. Doch leider weigert sich Qt.:(
So hatte ich es versucht:

Code: Alles auswählen

QSqlQuery Abfrage(Datenbankverbindung);
	Abfrage.prepare("CALL ListeAllerLiefererNachName()");
	if(!Abfrage.exec())
	{
		ok=false;
		Fehler=Abfrage.lastError().databaseText() +"\r\n"+Abfrage.lastError().driverText();
	}
doch leider klappt das nicht. An den Eingabeauffordrung der Datenbank funktioniert die Funktion. Es wird MySQL 5 benutzt.
Ich erhalte den Fehler: Can't return a result set in the given context.
Prozeduren die Datensätze anlegen funktionieren. Nur welche die welche zurückliefern streiken.
maxel
Beiträge: 11
Registriert: 27. Oktober 2005 08:43

Beitrag von maxel »

Hey,
der SQL-Aufruf dürfte "Select 'ListeAllerLiefererNachName'();" heißen
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

select geht nicht. da es keine funktion sondern eine prozedur ist.
denn bei selct kommt die Fehlermeldung das es die Funktion nicht gibt. Was ja auch korrekt ist. Da es ja eine Prozedure ist.
maxel
Beiträge: 11
Registriert: 27. Oktober 2005 08:43

Beitrag von maxel »

bei PSQL geht es mit dem Ausdruck

select "Funtkionsname"(Variable);

Wenn die Funktion nicht existiert, kann es auch daran liegen, das der Text auf Kleinschreibung umgewandelt wird. Siehe Logfile.
Dann mußt du den Ausdruck korrekt in Anführgunszeichen setzen
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

mit dem Select hatte ich es an der Konsole versucht. Und es geht nicht. Call Prozedurename ist schon ok.
Antworten