asp.net

leinad

Power Member
boa tarde,



vou expor algum codigo, o qual esta a dar barraca..

****************************** codigo do evento Click do botao********************
Protected Sub cmdReservar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdReservar.Click
Dim dataEmenta As String = Session( "DataEmenta")

Dim Reservas As senhasONLINE.Reservas = New senhasONLINE.Reservas

Dim valor As String = "1,50"


Dim str As String = "dat"

Try

If IsNothing(Session("DataEmenta")) Then dataEmenta = DateTime.Today
Reservas.InserirReserva(9, str, 2, 2)

'(comboPrato.SelectedValue, dataEmenta, valor, 1)

Catch ex As Exception
Response.Write(ex.Message)


End Try

End Sub.

****************codigo da Class Reservas ******************************


Public Sub InserirReserva(ByVal IDtipoPrato As Integer, ByVal DataReser As String, ByVal ValorReser As String, ByVal IDaluno As Integer)
Dim cn As SqlConnection
Dim cmd As SqlCommand

cn = New SqlConnection(ConfigurationManager.ConnectionStrings("senhasONLINEConnectionString").ToString)
cmd = New SqlCommand("insert into tabReservas(frkTipoPrato, datData, monValor, frkAluno) " & _
"values(" & IDtipoPrato & ",'" & DataReser & "', " & ValorReser & ", " & IDaluno & ")") ' "values(3,'13-10-2007', 1, 2)")
cn.Open()
cmd.ExecuteNonQuery() 'o erro surge quando e´ executrada esta linha
cn.Close()
End Sub

******************************************

mensagem de erro:


ExecuteNonQuery: Connection property has not been initialized.



A que se devera o erro? as conecçoes estao OK, o servidor de Sql esta conectado.


executei este insert directamente no SQL e correu tudo bem... j´´a n sei que fazer mais..........
 
Falta-te uma referência no SqlCommand sobre qual a SqlConnection que ele vai usar.
Ou colocas como 2º argumento ao construtor do SqlCommand a ligação cn ou então atribuis a propriedade cmd.Connection = cn.

Como está agora, o cmd não sabe que é suposto utilizar aquela ligação cn.
 
Back
Topo