Hogyan vigyük át a tárolt eljárás paraméter null

Hogyan vigyük át a tárolt eljárás paraméter = null

Emberek, segítsetek! Be kell, hogy adja át a paramétereket a CP, beleértve a paraméter értéke nulla is lehet.


nyomtatás # XA0 „; S_TGUIEventHintProps - eljárás együttműködni a set-up útmutatást az üzemeltető munkaállomás esetén”
megy
ha létezik (select * from sysobjects ahol id = object_id (N "[S_TGUIEventHintProps]") és ObjectProperty (id, N "IsProcedure") = 1)
csepp eljárással [S_TGUIEventHintProps]
GO
CREATE ELJÁRÁS S_TGUIEventHintProps

@ActNam varchar (32) = "NINCS",
@ObjID int = -1,
@ObjOwner int = NULL,
@ObjNam varchar (64) = ""
@ObjLab varchar (64) = ""
@ObjOrd int = -1,
@ObjMsk tinyint = 255,
@ObjNot varchar (255) = ""
@ObjStat int = 0,
@GUICTop int = -1,
@GUICLeft int = -1,
@GUICWidth int = -1,
@GUICHeight int = -1,
@GUICAnchors int = -1,
@GUICAlign int = -1,
@DSCod int = NULL,
.

Igen, de hogyan kell átadni a paraméter Delphi = null, ha például Integer?
Ha így tesz:
DataForm.StoredProc1.ParamByName ( "@ param1"). AsInteger = null
nem működik - azt mondja, hogy nem egyezik típusú, ha nem hagyja ki ezt a lehetőséget - azt mondja, nincs elég paramétereket. Mit kell tenni?

Röviden, nézd, hogy működjön együtt a típusú variáns.

Fenyegetés és @ pontosan szükség a paraméter nevét.

@ Param1 - le, mint egy bemeneti paramétere a HP.

És miért ne
DataForm.StoredProc1.ParamByName ( "param1") Érték: = null ;. ?

Delphi úgy általában, de amikor a ExecProc felugró üzenetet a hiányzó bemeneti paraméterek, azaz a paraméter nem telt el.

Tedd meg defaultu paramétert (KP) = null, és egyáltalán semmi nem megy át (ha a Delphi nem szid), vagy érték: = null


> Mert MSSQL. Ő paraméter neveket kezdődik @.
>
>

Képzeld, én is tisztában. És TStoredProc szükséges meghatározni a teljes nevét, a paraméter? A „kutya”? Vagy nem?
Csak nem ez a cucc (TStoredProc) utoljára 6 évvel ezelőtt, én élveztem.

Nos, talán, talán. Még mindig nem használja azt.

By the way, ha nem adja át semmilyen paraméter esetén null, nem megy a komponetnta null paramétert, az alapértelmezett?

cm. [1], ott van allokálva félkövér.

> # XA0; nem megy komponetnta null paramétert, az alapértelmezett?
VarIsEmpty, VarIsNull, VarIsClear
olvassa el a lehetőséget

> 18.19
Nem erről van szó.
A kiszolgáló eljárást három paramétert.
létrehozásához tstoredproc, átadjuk az első kettő. végrehajtani.


> A szerver eljárást három paramétert.
> Új tstoredproc, át az első kettő. végrehajtani.

Még egyszer: mi akadályozza a paraméter alapértelmezés szerint közvetlenül a HP?


> Ki mondta, hogy ő legyen null alapesetben x?
>

Akkor nem értem semmit.
Hozd header HP és a kód, így TStoredProc a kliens.

valami <цитата> Elszúrtam.
Persze, hogy (idézet) kell fordítani.

KÖSZÖNJÜK! Minden működött! Úgy látszik, Delphi buggy!
Ő keres, mint beírni Ega23: inicializálni a fejlécben HP kívánt paramétert = null, és amikor hívott Delphi ezt az opciót csak kimaradt.


> Úgy látszik, Delphi hibás!

Kapcsolódó cikkek