[vb.net] stored procedure -> null

Pagina: 1
Acties:

  • Tinuske
  • Registratie: September 2002
  • Laatst online: 08-02 20:43
Mijn vraag is eigenlijk hoe ik bij een sql procedure een null, waarde mee kan geven.

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 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
code:
1
MyCommand.Parameters["@p_blaat"].Value = DBNull.Value;

[ Voor 71% gewijzigd door whoami op 27-02-2004 15:52 ]

https://fgheysels.github.io/


Verwijderd

Messchien kun je gebruik maken van DBNull.Value?

  • Tinuske
  • Registratie: September 2002
  • Laatst online: 08-02 20:43
Bedankt het werkt!!