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!