ich bin ziemlich neu in QT wie auch bei Datenbanken. Ich weiß auch nicht ob ich die Frage hier an der richtigen Stelle frage, aber ich versuche es einfach mal. Vielleicht hat ja jemand Erfahrung damit.
Ich benutze QT 4.2.0 Open Source mit dem MinGW g++ und MS SQL Server 2000 über QODBC.
Ich habe folgendes Problem:
Ich rufe eine Stored Procedure auf, die ein INSERT auf eine Tabelle macht und anschließend den kompletten Datensatz mit einer SELECT Anweisung wieder zurückliefert.
Der Aufruf und das INSERT funktionieren, aber leider bekomme ich keine Resultate von dem SELECT Statemant zurück.
Code Aufbau:
QT
Code: Alles auswählen
QSqlQuery q(m_db);
q.prepare("{ CALL Function (?, ?, ?) }");
q.bindValue( 0, row.Name);
q.bindValue( 1, row.X);
q.bindValue( 2, row.Y);
if(!q.exec()){
return false;
}
while ( q.next() ){
row.Id = q.value( 0);
}
return true;Code: Alles auswählen
CREATE PROCEDURE [dbo].[Function]
(
@Name nvarchar (50) = NULL,
@X int,
@Y int
) AS
DECLARE @ID int;
INSERT INTO dbo.Table(Name, X, Y)
VALUES (@Name, @X, @Y)
SET @ID=SCOPE_IDENTITY()
SELECT ID, Name, X, Y
FROM dbo.Table
WHERE ID = @ID
GOSQL
GEHT
Code: Alles auswählen
CREATE PROCEDURE [dbo].[Function]
(
@Name nvarchar (50) = NULL,
@X int,
@Y int
) AS
SELECT ID, Name, X, Y
FROM dbo.Table
GOCode: Alles auswählen
CREATE PROCEDURE [dbo].[Function]
(
@Name nvarchar (50) = NULL,
@X int,
@Y int
) AS
DECLARE @ID int;
SELECT ID, Name, X, Y
FROM dbo.Table
GOVielleicht kann mir da jemand helfen.
Danke.
Gruß,
Stefan