Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema cuando uso un select y un insert into en la misma función

Estas en el tema de Problema cuando uso un select y un insert into en la misma función en el foro de .NET en Foros del Web. Hola, tengo un problema cuando uso un select y un insert into en la misma función. Tengo que reservar un aula, entonces el usuario mete ...
  #1 (permalink)  
Antiguo 20/10/2008, 12:31
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 0
Problema cuando uso un select y un insert into en la misma función

Hola, tengo un problema cuando uso un select y un insert into en la misma función. Tengo que reservar un aula, entonces el usuario mete los datos q son el aula, el dni, fecha, horaInicio, horafin y el motivo y se supone que yo lo q intento es primero hacer un select y ver si en la tabla de reservas de la bd está ese aula en esa fecha y tal, y si no está en esa tabla es q el aula está libre, entonces hace la reserva insertando esos datos en la tabla reserva. Solo que he puesto este kódigo y no me da ningun error pero no me hace nada. ¿Alguien sabe kual puede ser el error y komo lo puedo arreglar? Gracias por adelantado


Protected Sub Reservar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Reservar.Click
Dim dni, mot, h, q As String
Dim fecha As Date
Dim HI, HF, aula As Integer
Dim cnn As OleDbConnection
Dim resul2 As OleDbDataReader
aula = DropDownList1.Text
dni = DropDownList1.Text
fecha = TextBox2.Text
HI = DropDownList2.Text
HF = DropDownList3.Text
mot = TextBox3.Text

cnn = New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\Bea.BEA-095B12391FA\Mis documentos\Visual Studio 2005\WebSites\GestionAulas\App_Data\gestionaulas.m db")
cnn.Open()
Dim query As String = "SELECT DNIUsu " & _
"FROM Reserva " & _
"WHERE NumClase = '" & aula & "', DNIUsu = '" & dni & "', Fecha = @fecha ,HoraInicio = '" & HI & "',HoraFin='" & HF & "' AND Motivo='" & mot & "' "

Dim objCmd As New OleDbCommand(query, cnn)
resul2 = objCmd.ExecuteReader()


Dim DNIUsu As String = String.Empty

While resul2.Read()
DNIUsu = resul2.GetString(0)
End While


If DNIUsu = String.Empty Then
q = "insert into Reserva(NumClase,DNIusu,Fecha,HoraInicio,HoraFin,V al,Motivo) values ('" & aula & "', '" & dni & "', '" & fecha & "', '" & HI & "', '" & HF & "', true, '" & mot & "' )"
Dim x As New OleDbCommand(q, cnn)
h = objCmd.ExecuteNonQuery
If h Then
Response.Write("Reserva hecha con éxito")
End If
Else : Response.Write("El aula ya está reservada")

End If




cnn.Close()

End Sub
  #2 (permalink)  
Antiguo 21/10/2008, 06:39
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema cuando uso un select y un insert into en la misma función

Por favor, que alguien me konteste estoy en un apuro ... Si no me explike bien diganmelo y repito, perdon por las molestias
  #3 (permalink)  
Antiguo 21/10/2008, 06:46
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Problema cuando uso un select y un insert into en la misma función

el problema es bien simple

If DNIUsu = String.Empty Then
q = "insert into Reserva(NumClase,DNIusu,Fecha,HoraInicio,HoraFin,V al,Motivo) values ('" & aula & "', '" & dni & "', '" & fecha & "', '" & HI & "', '" & HF & "', true, '" & mot & "' )"
Dim x As New OleDbCommand(q, cnn)
h = objCmd.ExecuteNonQuery
If h Then
Response.Write("Reserva hecha con éxito")
End If

le dices que ejecute objCmd y debe ser x.ExecuteNonQuery
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 21/10/2008, 07:00
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema cuando uso un select y un insert into en la misma función

Sigue sin hacerme nada :(
  #5 (permalink)  
Antiguo 21/10/2008, 07:22
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Problema cuando uso un select y un insert into en la misma función

no te inserta nada? ya revisaste la bd?

puedes poner tu codigo otra vez
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #6 (permalink)  
Antiguo 21/10/2008, 08:28
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema cuando uso un select y un insert into en la misma función

Si ya revise la bd y no me inserta nada. Mira te voy a decir komo es la tabla Reserva de la bd. Tiene los siguientes kampos: NumClase(numerico);DNIUsu(texto); Fecha(fecha/hora); HoraInicio(fecha/hora); HoraFin (fecha/hora); Val (si/no); Motivo (texto).

Además de esto, en el formulario puse un CompareValidator para que la fecha sea la correcta ( te lo cuento para darte mas detalles)y la fecha q se inserta tiene q ser de tipo aaaa/mm/dd .

El código que me pidas que vuelva a poner es este:

Protected Sub Reservar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Reservar.Click
Dim dni, mot, h, q As String
Dim fecha As Date
Dim HI, HF, aula As Integer
Dim cnn As OleDbConnection
Dim resul2 As OleDbDataReader
aula = DropDownList1.Text
dni = DropDownList1.Text
fecha = TextBox2.Text
HI = DropDownList2.Text
HF = DropDownList3.Text
mot = TextBox3.Text

cnn = New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\Bea.BEA-095B12391FA\Mis documentos\Visual Studio 2005\WebSites\GestionAulas\App_Data\gestionaulas.m db")
cnn.Open()
Dim query As String = "SELECT DNIUsu " & _
"FROM Reserva " & _
"WHERE NumClase = '" & aula & "', DNIUsu = '" & dni & "', Fecha = @fecha ,HoraInicio = '" & HI & "',HoraFin='" & HF & "' AND Motivo='" & mot & "' "

Dim objCmd As New OleDbCommand(query, cnn)
resul2 = objCmd.ExecuteReader()


Dim DNIUsu As String = String.Empty

While resul2.Read()
DNIUsu = resul2.GetString(0)
End While


If DNIUsu = String.Empty Then
q = "insert into Reserva(NumClase,DNIusu,Fecha,HoraInicio,HoraFin,V al,Motivo) values ('" & aula & "', '" & dni & "', '" & fecha & "', '" & HI & "', '" & HF & "', true, '" & mot & "' )"
Dim x As New OleDbCommand(q, cnn)
h = x.ExecuteNonQuery
If h Then
Response.Write("Reserva hecha con éxito")
End If
Else : Response.Write("El aula ya está reservada")

End If




cnn.Close()

End Sub



Espero que me podais ayudar :( y muchas gracias otra vez por molestaros)
  #7 (permalink)  
Antiguo 21/10/2008, 08:51
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Problema cuando uso un select y un insert into en la misma función

porq no usas oledbparameters en vez de usar la concatenación sobre el string de tu query.?

mas seguro y menos conflictivo.

- revisa eso de los oledbparameters
- que la conexion se mantenga abierta
- que estés comparando bien las fechas porque en la bd los datos pueden estar en otro formato
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #8 (permalink)  
Antiguo 21/10/2008, 11:34
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema cuando uso un select y un insert into en la misma función

No uso Oledbparameters porque no se usarlos, la información que encuentro es muy técnica y dado q soy nueva en esto no la entiendo bien. Me podríais poner un ejemplo o algo xfvr?
Gracias...
  #9 (permalink)  
Antiguo 21/10/2008, 11:43
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Problema cuando uso un select y un insert into en la misma función

http://msdn.microsoft.com/es-es/libr...er(VS.80).aspx

ahí vienen varios ejemplos.

PD: pero si checa que realmente esta condición se cumpla If DNIUsu = String.Empty a mi se me hace que no o que tus búsquedas están mal planteadas y al momento de hacer el insert no lo realiza porq ni siquiera entra en la condición.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #10 (permalink)  
Antiguo 21/10/2008, 13:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 42
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Problema cuando uso un select y un insert into en la misma función

Aver, voy a ir diciendote por pasos lo q me pasa xq me estoy volviendo lokisima, en serio.
He cambiado el formato de las fechas y horas y las he puesto de momento a string para ver si era eso y ahora me sale el siguiente error:

Error de sintaxis (coma) en la expresión de consulta 'NumClase = '11', DNIUsu = '11' ,Fecha = @fecha , HoraInicio = '8:00', HoraFin='9:00' AND Motivo='prueba1''.


Vale, en vez de la coma, que tengo q poner?

Lo de Oldedbparamteres no lo entiendo Peter, perdona mi insistencia.
  #11 (permalink)  
Antiguo 21/10/2008, 14:03
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: Problema cuando uso un select y un insert into en la misma función

AND en vez de la coma
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:08.