• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

leinad

asp.net

7 mensagens neste tópico

asp.net

--------------------------------------------------------------------------------

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.ConnectionStrin gs("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..........

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

leinad, se o que queres é executar esses comando em SQL, parece-me que o ExecuteNonQuery() não é o mais indicado... Não tenho muita experiencia nessa linguagem mas, não dá nada tipo cmd.Execute, ou algo genero?

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens que indicar que ligação é que o SqlCommand vai usar.

cmd.Connection = cn

Deve resolver-te o problema.

Quanto à query que tas a executar, n tens ali um VALUES a mais ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não tens ligação à base de dados para o objecto Command Query

corrige assim :

cn = New SqlConnection(ConfigurationManager.ConnectionStrin gs("senhasONLINEConnectionString").ToString)

cn.open();

cmd = New SqlCommand("insert into tabReservas(frkTipoPrato, datData, monValor, frkAluno) " & _

"values(" & IDtipoPrato & ",'" & DataReser & "', " & ValorReser & ", " & IDaluno & ")") ' "values(3,'13-10-2007', 1, 2)", cn)

isto é, deves abrir a conexão à BD em primeiro lugar

depois passar a conexão CN para o objecto CMD (do query)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só para não confundir o rapaz, o objecto é um SqlCommand e não um Command Query ;)

Depois, não precisas de abrir primeiro a ligação à BD e só depois atribui-la ao teu SqlCommand. Poderá ser feita a declaração do SqlCommand e indicar a ligação lá como parametro, ou da forma como indiquei no post anterior, ou seja, definindo depois a propriedade Connection.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

======

Só para não confundir o rapaz, o objecto é um SqlCommand e não um Command Query ;)

======

Até lhe posso chamar um "comando de pergunta à BD"

======

Depois, não precisas de abrir primeiro a ligação à BD e só depois atribui-la ao teu SqlCommand. Poderá ser feita a declaração do SqlCommand e indicar a ligação lá como parametro, ou da forma como indiquei no post anterior, ou seja, definindo depois a propriedade Connection.

=======

sim, obviamente

Eu corrigi o código dele, é mais simples para ele ver...porque o código é dele

por isso não compliques o que é simples

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem se estas a usar sql server 2000/5 podias usar stored procedures para gravar reservas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora