Announcement

Collapse
No announcement yet.

MSSql Procedure Probleme

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MSSql Procedure Probleme

    hallo...

    ich habe folgende situation (delphi 7, dbexpress driver 7.0.2.113,
    MSSQL 7):
    <pre>
    CREATE TABLE ID_TAB
    (
    ID int IDENTITY (1, 1) NOT NULL,
    UniqueLock uniqueidentifier NOT NULL
    )
    <br>
    CREATE PROCEDURE P_GET_ID AS
    begin
    DECLARE @MyLock UNIQUEIDENTIFIER;
    DECLARE @ID Integer;
    Set @MyLock = NewID();
    insert into ID_TAB (UniqueLock) values (@MyLock);
    Select @ID = ID from ID_TAB where UniqueLock = @MyLock;
    Delete from ID_TAB where UniqueLock = @MyLock;
    Return @ID;
    end;
    </pre>
    die procedure rufe ich folgendermassen auf:
    <pre>
    with SQLDataSet1 do
    begin
    CommandType := ctStoredProc;
    CommandText := 'dbo.P_GET_ID';
    ExecSQL;
    ShowMessage('NEW ID IS: ' + ParamByName('RETURN_VALUE').asString);
    end;
    </pre>
    als ergebnis bekomme ich bei den ersten beiden aufrufen 0 als rückgabewert, und ab dem 3ten aufruch bekomme ich dann meine fortlaufende nummer. hat jemand eine idee, was ich falsch mache?

    danke

    volkmar

  • #2
    Hallo,

    das ist ein bekannter dbExpress-Bug (siehe Beitrag "dbexpress (MSSQL 7) bug ?" in der Newsgroup <i>borland.public.delphi.database.dbexpress</i> (September 200<b>2</b>) bzw. Quality Central-Report 2369. Borland hatte damals einen neuen dbExpress-Treiber für den MSSQL versprochen.

    In der Quality Central-Datenbank steht vom 21.02.2003 der Eintrag "<i>Fixed in SQL Server dbExpress drive update</i>". Es müsste daher ein Bugfix für den dbExpress-Treiber auf der Borland-Webseite rumliegen. Allerdings steht vom 02.10.2003 auch der Eintrag "<i>I can't find the Update in the Download section for Delphi 7, too? It's very important for us, so can anyone tell me, where the update can be found?</i>" in der Quality Central-Datenbank :-

    Comment

    Working...
    X