Problema con código
Publicado por Nicolas (35 intervenciones) el 17/04/2009 16:03:45
Este es el codigo que tengo para coenctarme a una base de dato M. Sql server 2005 con VS2005
y me da estos errores
1_ Error de Sintaxis en Imports
2_ El tipo SqlConnection no esta definido
3_ El tipo SqlDataReader no esta definido
4_ El tipo SqlCommand no esta definido
en todos me recomienda que lo cambie por ejemplo a SqlClient.Sqlconnection y asi con DataReader y Command. Yo los cambio a todosy le pongo comillas (comentario a la linea de imports porque si no me deja ejecutarlo) y carga el formulario pero cuando presiono el boton ingresar (btn_ingreso) me sale este error en la linea RS = Com.ExecuteReader()
Error: ExecuteReader requiere una conexión abierta y disponible
El estado actual de la cenxión es cerrada.
Espero me hayan entendido y que me puedas ayudar ya que hace rato que que estoy con este dolor cabeza....
CODIGO:
Private Sub btn_ingresar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ingresar.Click
Imports System.Data.SqlClient
Dim Conexion As String = "Data Source=.SQLEXPRESS;Initial Catalog=gastos;Integrated Security=True"
Dim MiConexion As New SqlConnection(Conexion)
Dim Rs As SqlDataReader
Dim Com, Insert, Delete, Actualizar As New SqlCommand
Dim SQL As String
' Para saber si un registro ya existe en la BD debes hacer un select con ´'su where, 'auqnue tambien puedes hacerlo desde codigo con un while y un if dentro:
SQL = "select cod,des from gastos1 where cod='" & txt_cod.Text & "'"
Com = New SqlCommand(SQL, MiConexion)
Rs = Com.ExecuteReader()
Rs.Read()
If Rs.HasRows Then 'si encontro algo en la consulta no hacemos nada
Rs.Close()
MsgBox("La descripcion ya existe.")
Else ' si no insertamos
Rs.Close()
Insert.CommandText = "Insert into Articulos(Descripcion,ListaPorcentaje,CodCat) Values (" & txt_cod.Text & ",'" & txt_des.Text & "')"
Insert.Connection = MiConexion
Insert.ExecuteNonQuery()
End If
End Sub
Un abrazo...Nico
y me da estos errores
1_ Error de Sintaxis en Imports
2_ El tipo SqlConnection no esta definido
3_ El tipo SqlDataReader no esta definido
4_ El tipo SqlCommand no esta definido
en todos me recomienda que lo cambie por ejemplo a SqlClient.Sqlconnection y asi con DataReader y Command. Yo los cambio a todosy le pongo comillas (comentario a la linea de imports porque si no me deja ejecutarlo) y carga el formulario pero cuando presiono el boton ingresar (btn_ingreso) me sale este error en la linea RS = Com.ExecuteReader()
Error: ExecuteReader requiere una conexión abierta y disponible
El estado actual de la cenxión es cerrada.
Espero me hayan entendido y que me puedas ayudar ya que hace rato que que estoy con este dolor cabeza....
CODIGO:
Private Sub btn_ingresar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ingresar.Click
Imports System.Data.SqlClient
Dim Conexion As String = "Data Source=.SQLEXPRESS;Initial Catalog=gastos;Integrated Security=True"
Dim MiConexion As New SqlConnection(Conexion)
Dim Rs As SqlDataReader
Dim Com, Insert, Delete, Actualizar As New SqlCommand
Dim SQL As String
' Para saber si un registro ya existe en la BD debes hacer un select con ´'su where, 'auqnue tambien puedes hacerlo desde codigo con un while y un if dentro:
SQL = "select cod,des from gastos1 where cod='" & txt_cod.Text & "'"
Com = New SqlCommand(SQL, MiConexion)
Rs = Com.ExecuteReader()
Rs.Read()
If Rs.HasRows Then 'si encontro algo en la consulta no hacemos nada
Rs.Close()
MsgBox("La descripcion ya existe.")
Else ' si no insertamos
Rs.Close()
Insert.CommandText = "Insert into Articulos(Descripcion,ListaPorcentaje,CodCat) Values (" & txt_cod.Text & ",'" & txt_des.Text & "')"
Insert.Connection = MiConexion
Insert.ExecuteNonQuery()
End If
End Sub
Un abrazo...Nico
Valora esta pregunta


0