2015-04-24 406 views
0

我得到一个错误,如何解决“ExecuteNonQuery:CommandText属性尚未初始化?”错误?

“的ExecuteNonQuery:CommandText属性尚未初始化”

请帮助!我一直在执行这个代码来保存我的其他表单中的数据与我们的任何错误,但是当我尝试使用这个图像保存它给我这个错误。

Sub Save_Employee() 
    Dim conn As New SqlConnection(ConnectionString) 
    Dim comm As SqlCommand = New SqlCommand() 
    comm.Connection = conn 
    conn.Open() 

    Dim str As String = "INSERT INTO Employee_Tbl VALUES (@RegNo,@FullName,@Country,@Occupation,@WorkSite,@DOB,@Photo,@Remarks,@Status)" 
    comm.Parameters.AddWithValue("@RegNo", RegNo_TextBox.Text) 
    comm.Parameters.AddWithValue("@FullName", FullName_TextBox.Text) 
    comm.Parameters.AddWithValue("@Country", Country_ComboBox.Text) 
    comm.Parameters.AddWithValue("@Occupation", Occupation_ComboBox.Text) 
    comm.Parameters.AddWithValue("@WorkSite", WorkSite_TextBox.Text) 
    comm.Parameters.AddWithValue("@DOB", DOB_DateTimePicker.Text) 

    Try 
     Dim ms As New System.IO.MemoryStream 
     Dim bmpImage As New Bitmap(myimage.Image) 

     bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg) 
     bytImage = ms.ToArray() 
     ms.Close() 
    Catch ex As Exception 
     MsgBox(ex.ToString) 
    End Try 

    comm.Parameters.AddWithValue("@Photo", bytImage) 
    comm.Parameters.AddWithValue("@Remarks", Remarks_TextBox.Text) 
    comm.Parameters.AddWithValue("@Status", Status_ComboBox.Text) 
    comm.ExecuteNonQuery() 
    MessageBox.Show("Saved successful!", "Employee Created", MessageBoxButtons.OK, MessageBoxIcon.Information) 
    comm.ExecuteNonQuery() 
    conn.Close() 
End Sub 
+0

为什么执行'comm.ExecuteNonQuery()'命令两次? –

回答

0

您需要comm.ExecuteNonQuery()

comm.CommandText = str 
comm.ExecuteNonQuery() 
0

设置CommandText属性下面的代码可能会帮助你。

Sub Save_Employee() 
    Dim conn As New SqlConnection(ConnectionString) 
    Dim comm As SqlCommand 
    Dim str As String 

    Try 
     Dim ms As New System.IO.MemoryStream 
     Dim bmpImage As New Bitmap(myimage.Image) 

     bmpImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg) 
     bytImage = ms.ToArray() 
     ms.Close() 
     str = "INSERT INTO Employee_Tbl VALUES (@RegNo,@FullName,@Country,@Occupation,@WorkSite,@DOB,@Photo,@Remarks,@Status)" 
     comm.Parameters.AddWithValue("@RegNo", RegNo_TextBox.Text) 
     comm.Parameters.AddWithValue("@FullName", FullName_TextBox.Text) 
     comm.Parameters.AddWithValue("@Country", Country_ComboBox.Text) 
     comm.Parameters.AddWithValue("@Occupation", Occupation_ComboBox.Text) 
     comm.Parameters.AddWithValue("@WorkSite", WorkSite_TextBox.Text) 
     comm.Parameters.AddWithValue("@DOB", DOB_DateTimePicker.Text) 
     comm.Parameters.AddWithValue("@Photo", bytImage) 
     comm.Parameters.AddWithValue("@Remarks", Remarks_TextBox.Text) 
     comm.Parameters.AddWithValue("@Status", Status_ComboBox.Text) 
    Catch ex As Exception 
     MS.Close() 
     MsgBox(ex.ToString) 

     str = "INSERT INTO Employee_Tbl VALUES (@RegNo,@FullName,@Country,@Occupation,@WorkSite,@DOB)" 
     comm.Parameters.AddWithValue("@RegNo", RegNo_TextBox.Text) 
     comm.Parameters.AddWithValue("@FullName", FullName_TextBox.Text) 
     comm.Parameters.AddWithValue("@Country", Country_ComboBox.Text) 
     comm.Parameters.AddWithValue("@Occupation", Occupation_ComboBox.Text) 
     comm.Parameters.AddWithValue("@WorkSite", WorkSite_TextBox.Text) 
     comm.Parameters.AddWithValue("@DOB", DOB_DateTimePicker.Text) 
    End Try 

    Try 
     conn.Open() 
     comm = New SqlCommand(str, conn) 
     comm.ExecuteNonQuery() 
     MessageBox.Show("Saved successful!", "Employee Created", MessageBoxButtons.OK, MessageBoxIcon.Information) 
     conn.Close() 
    Catch ex As Exception 
     conn.Close() 
     MsgBox(ex.ToString) 
    End Try 
End Sub 
相关问题