做了一个C/S项目,在做一个循环读取Datagridview,并存入数据库的时候出现System.NullReferenceException异常,但是数据还存入了数据库中,不知道怎么回事,具体代码如下:
操作数据库的类:
Imports System.Data
Imports System.Data.SqlClient
Imports System.ComponentModel
Imports System.Configuration
Public Class DataBaan
Public Shared sConn As String = System.Configuration.ConfigurationManager.AppSettings("strconn")
Public Shared sql As String
Public Shared Conn As SqlConnection
Public Shared Comm As SqlCommand
Public Shared rs As Integer
Public Shared Function InsertDZCF(ByVal ypmc As String, ByVal sccs As String, ByVal ypph As String, ByVal yyjl As String, ByVal jldw As String, ByVal yyfs As String, ByVal sfps As String, ByVal yypl As String, ByVal ypjg As Decimal, ByVal dymc As String, ByVal jzxh As String, ByVal ysbz As String, ByVal zt As String, ByVal rq As String, ByVal yysl As Integer) As String
Dim rss As Integer
Dim result As String
result = "NO"
Try
Conn = New SqlConnection(sConn)
Conn.Open()
sql = "insert into 电子处方(药品名称,生产厂商,药品批号,用药剂量,剂量单位,用药方式,是否皮试,用药频率,药品价格,打印名称,就诊序号,医生备注,状态,日期,用药数量) values('" & ypmc & "','" & sccs & "','" & yypl & "','" & yyjl & "','" & jldw & "','" & yyfs & "','" & sfps & "','" & yypl & "'," & ypjg & ",'" & dymc & "','" & jzxh & "','" & ysbz & "','" & zt & "','" & rq & "'," & yysl & " )"
Comm = New SqlCommand(sql, Conn)
Comm.CommandType = CommandType.Text
rss = Comm.ExecuteNonQuery()
Comm.Dispose()
Conn.Dispose()
Catch ex As Exception
MessageBox.Show("医生开药时出现错误:" & ex.ToString())
End Try
If rss > 0 Then
result = "YES"
Return result
Else
Return result
End If
End Function
Public Shared Function InsertXM(ByVal xmmc As String, ByVal xmsl As Integer, ByVal jldw As String, ByVal xmjg As Decimal, ByVal dymc As String, ByVal jzxh As String, ByVal zt As String, ByVal rq As String) As String
Dim resss As Integer
Dim result As String
result = "NO"
Try
Conn = New SqlConnection(sConn)
Conn.Open()
sql = "insert into 项目列表(项目名称,项目数量,计量单位,项目价格,打印名称,就诊序号,状态,日期) values('" & xmmc & "'," & xmsl & ",'" & jldw & "'," & xmjg & ",'" & dymc & "','" & jzxh & "','" & zt & "','" & rq & "' )"
Comm = New SqlCommand(sql, Conn)
Comm.CommandType = CommandType.Text