Mijn vraag is eigenlijk hoe ik bij een sql procedure een null, waarde mee kan geven.
Aanroep functie (voorbeeld) :
InsertActie(NewMeldingId, MelderDropDownList.SelectedValue, 1, 4, 1, 2, Now.ToOADate)
Nu kan het zijn dat 1 van de getallen, bijvoorbeeld prioriteit of type niet wordt ingevuld. Het mooiste is dat dezelfde stored procedure op de server aangeroepen zou worden, maar < null> pakt ie niet bij .net
Weet iemand hoe ik toch een null waarde mee kan geven aan de stored procedure ?
Alvast bedankt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| De sql procedure op de mssql server
CREATE Procedure dbo.calInsertActie
@MeldingID integer,
@PersoonID smallint,
@vanStatusID integer=null,
@naarStatusID integer=null,
@TypeID integer=null,
@PrioriteitID integer=null,
@Datum float
AS
INSERT INTO calActie(MeldingID,PersoonID,vanStatusID,naarStatusID,TypeID, PrioriteitID,Datum)
VALUES (@MeldingID, @PersoonID,@vanStatusID,@naarStatusID ,@TypeID,@PrioriteitID,@Datum)
return(0)
GO |
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| De functie in .net om de stored procedure aan te roepen
Public Function InsertActie(ByVal MeldingID As Integer, ByVal PersoonID As Integer, ByVal vanStatusID As Integer,
ByVal naarStatusID As Integer, ByVal TypeID As Integer, ByVal PrioriteitID As Integer, ByVal Datum As Double,
Optional ByRef strFout As String = "") As Integer
Dim DataObject As New Bedrijf.Data.Connect
Try
If DataObject.OpenConnection("calInsertActie", InnoPhase.Data.Connect.CommandType.StoredProcedure, strFout) = False Then Exit Function
DataObject.AddParameter("@MeldingID", SPDataType._Integer, MeldingID, SoortCommand.SelectCommand)
DataObject.AddParameter("@PersoonID", SPDataType._Integer, PersoonID, SoortCommand.SelectCommand)
DataObject.AddParameter("@VanStatusID", SPDataType._Integer, vanStatusID, SoortCommand.SelectCommand)
DataObject.AddParameter("@NaarStatusID", SPDataType._Integer, naarStatusID, SoortCommand.SelectCommand)
DataObject.AddParameter("@TypeID", SPDataType._Integer, TypeID, SoortCommand.SelectCommand)
DataObject.AddParameter("@PrioriteitID", SPDataType._Integer, PrioriteitID, SoortCommand.SelectCommand)
DataObject.AddParameter("@Datum", SPDataType._Double, Datum, SoortCommand.SelectCommand)
If DataObject.ExecuteNonQuery(strFout) = False Then Exit Function
Dim NewActieId As Integer = DataObject.LastInsertedId
Return NewActieId
Catch ex As Exception
strFout = ".Insertmelding" & ": " & ex.Message & "(" & ex.Source & ")"
Finally
DataObject.CloseConnection()
End Try
End Function |
Aanroep functie (voorbeeld) :
InsertActie(NewMeldingId, MelderDropDownList.SelectedValue, 1, 4, 1, 2, Now.ToOADate)
Nu kan het zijn dat 1 van de getallen, bijvoorbeeld prioriteit of type niet wordt ingevuld. Het mooiste is dat dezelfde stored procedure op de server aangeroepen zou worden, maar < null> pakt ie niet bij .net
Weet iemand hoe ik toch een null waarde mee kan geven aan de stored procedure ?
Alvast bedankt
[ Voor 8% gewijzigd door Tinuske op 27-02-2004 15:46 ]