CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Executenonquery() No Funciona Vb 2005 Con Sql 2005

(1/2) > >>

luiz1919:
Hola amigos, desde hace un tiempo el vb 2005 me está volviendo loco con las consultas sobre una base de datos SQL 2005.

El caso es que tengo un sencillo programa de inserciones, borrado y modificaciones. Las consultas sobre la base de datos me las hace a la perfeccion pero no consigo de ninguna manera insertar, modificar o eliminar elementos de la base de datos.

El codigo es este:

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

Public ConexionStr As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DataBaseSports.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

Public _SqlConexion As Data.SqlClient.SqlConnection
_SqlConexion = New SqlClient.SqlConnection
_SqlConexion.ConnectionString = ConexionStr
 _SqlConexion.Open()

 Query = "INSERT INTO Customers (ID_Customer,FirstName,LastName,Birthday,Address,ZIP,City,Country,DiscountCard,CardNumber) VALUES (" & MaxID & ",'" _
                                                       & txtFirstName.Text & "','" _
                                                       & txtLastName.Text & "','" _
                                                       & txtBirthday.Text & "','" _
                                                       & txtAddress.Text & "','" _
                                                       & txtZIP.Text & "','" _
                                                       & txtCity.Text & "','" _
                                                       & txtCountry.Text & "'," _
                                                       & HasDiscountCard & ",'" _
                                                       & NewCardCode & "')"
               
Dim myCommand As New SqlCommand(Query, _SqlConexion)
myCommand.ExecuteNonQuery()

If _SqlConexion.State <> ConnectionState.Closed Then
      _SqlConexion.Close()
End If


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

El caso es que cuando voy paso a paso, el programa no da ningun tipo de error, es decir, se comporta como si hubiera insertado los datos, pero cuando reviso la base de datos está completamente vacía. Yo ya no sé que hacer, he intentado con transacciones y demás historias pero me estoy volviendo loco y esto no funciona.

Puede alguien ayudarme por favos......GRACIAS.

junahu:
has probado a no poner
"Connect Timeout=30"

mañana le hecho un vistazo a tu codigo y te digo si a mi me pasa lo mismo. Yo uso sql server 2005 y VB 2005 y no he tenido problemas.

abel_cuentas_b:
hola luiz1919, te cuento que esto de las inserciones, borrados, modificaciones, es un poco mas complicado, sin querer decir que no se puede hacer, ya que te toca descriminar todas las caracteristicas de los objetos, en tu caso veo:

& txtFirstName.Text & "','" _
& txtLastName.Text & "','" _
& txtBirthday.Text & "','" _
& txtAddress.Text & "','" _
& txtZIP.Text & "','" _
& txtCity.Text & "','" _
& txtCountry.Text & "'," _
& HasDiscountCard & ",'" _
& NewCardCode & "')"

te muestro un ejemplo, que realice para un programa de agenda:

actu.Parameters.Add(New SqlParameter("@Id", SqlDbType.Int, 15, "Id"))
                actu.Parameters.Add(New SqlParameter("@Nombre", SqlDbType.NVarChar, 15, "Nombre"))
                actu.Parameters.Add(New SqlParameter("@Apellidos", SqlDbType.NVarChar, 50, "Apellidos"))
                actu.Parameters.Add(New SqlParameter("@Telefono", SqlDbType.Int, 15, "Telefono"))
                actu.Parameters.Add(New SqlParameter("@Direccion", SqlDbType.NVarChar, 50, "Direccion"))

actu.Parameters("@Id").Value = Me.TextBox1.Text
actu.Parameters("@Nombre").Value = Me.NombresTextBox.Text
actu.Parameters("@Apellidos").Value = Me.ApellidosTextBox.Text
actu.Parameters("@Telefono").Value = Me.TelefonoTextBox.Text
actu.Parameters("@Direccion").Value = Me.DireccionTextBox.Text
               
asi como lo ves, es algo que hay que analizar bastante y la verdad hay poca informacion en la web, te animo a que sigas investigando y si te puedo colaborar en algo mas nos estamos comunicando, saludos

Mollense:
Utiliza Try/Catch para ver si te da alguna excepción:

http://msdn2.microsoft.com/en-us/library/f...6tz(VS.71).aspx
http://www.elguille.org/colabora/NET2005/c...s_en_VB.net.htm

luiz1919:
Muchas gracias, voy a probar estos ejemplos que me habeis dejado.

Ayer estuve probando con el mismo código y, es extraño porque insertar inserta, porque puedo ver como el índice de nuevos registros en mi programa se incrementa automaticamente cuando inserto, es decir, la informacion del nuevo registro permanece en memoria en algun sitio, pero no sé donde, porque al cerrar el programa la base de datos permanece en blanco.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa