关于入参为空时的处理
1
Entering NULL values into SQL Server 2000 using Parameterized Queries (including date columns)
2
Here's another often asked question :
3
(1) The first thing to do if you have datetime columns that can take NULLs is to import the name space SqlTypes.
4
5
<%@ Import Namespace="System.Data.SqlTypes" %>
6
7
and then the actual code
8
Dim myCommand As SqlCommand
9
10
Dim myParam As SqlParameter
11
12
myCommand = New SqlCommand()
13
14
myCommand.Connection = objcon
15
16
myCommand.CommandText = "usp_testproc"
17
18
myCommand.CommandType = CommandType.StoredProcedure
19
20
myCommand.Parameters.Add(New SqlParameter("@ProductName",SqlDbType.VarChar,50))
21
22
23
myCommand.Parameters("@ProductName").Value = "New Product"
24
25
myCommand.Parameters.Add(New SqlParameter("@Quantity",SqlDbType.int))
26
27
myCommand.Parameters("@Quantity").Value = 100
28
29
myCommand.Parameters.Add(New SqlParameter("@ProductDescription",SqlDbType.VarChar,50))
30
31
32
myCommand.Parameters("@ProductDescription").Value = DBNull.Value
33
34
'Now here's a date column
35
36
myCommand.Parameters.Add(New SqlParameter("@OrderDate",SqlDbType.DateTime))
37
38
39
If txtorderdate.Text.Trim.Length = 0 Then
40
41
myCommand.Parameters("@OrderDate").Value = Sqldatetime.Null
42
43
Else
44
45
myCommand.Parameters("@OrderDate").Value = Convert.ToDate(txtorderdate.Text)
46
47
End If
48
49
Try
50
51
If objCon.State = 0 Then objCon.Open()
52
53
mycommand.ExecuteNonQuery()
54
55
Catch exc As Exception
56
57
Response.Write(exc)
58
59
Finally
60
61
If objCon.State = ConnectionState.Open Then
62
63
objCon.Close()
64
65
End If
66
67
End Try
68
69
Entering NULL values into SQL Server 2000 using Parameterized Queries (including date columns) 2
Here's another often asked question :3
(1) The first thing to do if you have datetime columns that can take NULLs is to import the name space SqlTypes. 4
5
<%@ Import Namespace="System.Data.SqlTypes" %>6
7
and then the actual code 8
Dim myCommand As SqlCommand9

10
Dim myParam As SqlParameter11

12
myCommand = New SqlCommand()13

14
myCommand.Connection = objcon15

16
myCommand.CommandText = "usp_testproc"17

18
myCommand.CommandType = CommandType.StoredProcedure19

20
myCommand.Parameters.Add(New SqlParameter("@ProductName",SqlDbType.VarChar,50)) 21

22

23
myCommand.Parameters("@ProductName").Value = "New Product"24

25
myCommand.Parameters.Add(New SqlParameter("@Quantity",SqlDbType.int))26

27
myCommand.Parameters("@Quantity").Value = 10028

29
myCommand.Parameters.Add(New SqlParameter("@ProductDescription",SqlDbType.VarChar,50)) 30

31

32
myCommand.Parameters("@ProductDescription").Value = DBNull.Value33

34
'Now here's a date column 35

36
myCommand.Parameters.Add(New SqlParameter("@OrderDate",SqlDbType.DateTime)) 37

38

39
If txtorderdate.Text.Trim.Length = 0 Then40

41
myCommand.Parameters("@OrderDate").Value = Sqldatetime.Null 42

43
Else44

45
myCommand.Parameters("@OrderDate").Value = Convert.ToDate(txtorderdate.Text)46

47
End If48

49
Try50

51
If objCon.State = 0 Then objCon.Open()52

53
mycommand.ExecuteNonQuery()54

55
Catch exc As Exception56

57
Response.Write(exc)58

59
Finally60

61
If objCon.State = ConnectionState.Open Then62

63
objCon.Close()64

65
End If66

67
End Try68

69



浙公网安备 33010602011771号