【发布时间】:2015-04-02 16:47:30
【问题描述】:
我尝试向表中插入一些值,但出现此错误与此命令关联的 DataReader 已打开。必须先关闭 这是代码
Public Function AddDB(ByVal codeP As String, ByVal exigence As String, ByVal nomE As String, ByVal Dt As String)
OpenCn()
Dim paramID As New SqlParameter("@id", SqlDbType.Int)
paramID.Value = 10
Dim paramText As New SqlParameter("@text", SqlDbType.VarChar, 50)
paramText.Value = "Ceci est un test"
Dim paramDate As New SqlParameter("@date", SqlDbType.DateTime)
paramDate.Value = DateTime.Now
Dim paramFloat As New SqlParameter("@float", SqlDbType.Float)
paramFloat.Value = 12.199999999999999
Dim Sql As String = String.Format("INSERT INTO DossierBleu(CodeP, Exigences, NomE, Date) VALUES (@codeP, @exigence, @nomE, @date)",
paramText.ParameterName,
paramText.ParameterName,
paramText.ParameterName,
paramText.ParameterName,
paramDate.ParameterName
)
Dim Cmd = New SqlCommand(Sql.ToString(), Cn)
Cmd.Parameters.Add(New SqlParameter("@codeP", codeP))
Cmd.Parameters.Add(New SqlParameter("@exigence", exigence))
Cmd.Parameters.Add(New SqlParameter("@nomE", nomE))
Cmd.Parameters.Add(New SqlParameter("@date", Dt))
'Cmd.Parameters.Add(paramDate)
Return Cmd.ExecuteNonQuery()
CloseCn()
End Function
谢谢
【问题讨论】:
-
您可能想查看 using 语句...msdn.microsoft.com/en-us/library/htd05whh.aspx 这是一种更可靠的方法,即使发生异常也能确保您的对象(例如连接、读取器)正确关闭.
标签: sql sql-server vb.net