2014-07-22 189 views
1

我试图更新“IF THEN”语句中的一个SQL数据库,但我得到:ExecuteNonQuery:连接属性尚未初始化。即使连接打开

ExecuteNonQuery:连接属性尚未初始化。

当我运行我的代码。

Private m_cn As New SqlConnection 
If oldcost <> newcost Then 
      'Dim myconnect As New SqlClient.SqlConnection 
      m_cn.ConnectionString = "Data Source=localhost;Initial Catalog=tires;Integrated Security=True" 
      m_cn.Open() 
      Dim mycommand As SqlClient.SqlCommand = New SqlClient.SqlCommand() 
      'm_cn.Open() 
      mycommand.CommandText = "INSERT INTO tire_price_changes (change_date, old_cost, old_retail,new_cost,new_retail,tire_id) VALUES (@change_date, @Nold_cost, @old_retail, @new_cost, @new_retail, @tire_id)" 

      Try 
       mycommand.Parameters.Add("@change_date", SqlDbType.Date).Value = tiredate 
       mycommand.Parameters.Add("@old_cost", SqlDbType.NVarChar).Value = oldcost 
       mycommand.Parameters.Add("@old_retail", SqlDbType.VarChar).Value = oldretail 
       mycommand.Parameters.Add("@new_cost", SqlDbType.VarChar).Value = newcost 
       mycommand.Parameters.Add("@new_retail", SqlDbType.NVarChar).Value = newretail 
       mycommand.Parameters.Add("@tire_id", SqlDbType.NVarChar).Value = m_introwposition 
       mycommand.ExecuteNonQuery() 
       MsgBox("Success") 
      Catch ex As System.Data.SqlClient.SqlException 
       MsgBox(ex.Message) 
      End Try 
     End If 
+0

您需要将连接附加到命令对象,如'mycommand.Connection = m_cn'。 –

+0

埃德,那工作...谢谢!我不知道为什么我为我的帖子得到-1,但是...... :( –

+0

我也没有明白:你有一个有针对性的问题和一个代码示例,并且包含了错误信息。一个投票,它看起来像你现在在这个问题的积极领土:) –

回答

1

它不会以这种方式进行初始化。要么手动设置myCommand.Connection属性,要么使用CreateCommand创建命令:

myCommand = m_cn.CreateCommand(); 
0

您没有连接命令和连接。

执行前试试这个:

mycommand.Connection = m_cn; 

你也可以向连接对象创建命令对象的你,在这种情况下,它会设置这个本身:

Dim mycommand As SqlClient.SqlCommand = Connection.CreateCommand() 

此外,请记住在完成这些对象后请致电Dispose

+0

谢谢,这解决了我的问题。我希望我可以投你的答案.... –

+0

我会打电话处置,现在它正在工作。出于好奇,如果我不处理会发生什么?随着时间的推移,应用程序是否会成为内存占用?我没有足够的经验来学习这种艰难的方式(是!)....再次感谢您的帮助! –

+0

它将消耗连接,直到垃圾收集器达到它为止,这取决于您运行此代码的频率可能不够快。默认情况下,您可以在.NET应用程序中拥有100个实时SQL Server连接。 –

相关问题