Update

17/06/2005 - 23:00 por Juan Carlos | Informe spam
Hola a la gente brava de este foro mi pregunta es la siguiente:
trato de actualizar mi tabla con oledbcommand pero al parecer no me ejecuta
como pensaba, tengo una duda el caracter "@" no es valido en oledb?? porque
hago lo siguiente arrastrando un OleDbCommand y le doy el siguiente query:

update mytable set idemployee = @id where idemployee = @id

y luego llamo a la cansulta:

oledncommand.parameters("@id").Value = IdEmployee.Text
myconnection.open
oledbcommand.executenonquery()
myconnection.close

me dice:
Excepción no controlada del tipo 'System.IndexOutOfRangeException' en
system.data.dll
Información adicional: OleDbParameterCollection no contiene OleDbParameter
con ParameterName '@id'.

bueno entonces quite el objeto y lo hice por codigo asi:

OleDbCommand1 = New OleDbCommand("UPDATE mytable
SET IDemployee = @ID WHERE (IDemployee = @ID)", OleConeccion)

OleDbCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("@id",
System.Data.OleDb.OleDbType.VarWChar, 12, "idemployee"))

OleDbCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("Original_@idemployee",
System.Data.OleDb.OleDbType.VarWChar, 12,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte),
"idemployee", System.Data.DataRowVersion.Original, Nothing))


OleDbCommand1.Parameters("@id").Value = IdEmployee.Text

myConnection.Open()
OleDbCommand1.ExecuteNonQuery()
myconnection.Close()

y ya no tengo problemas con el parameter pero ahora me sale este error:

Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en
system.data.dll

y se posiciona aqui:

OleDbCommand1.ExecuteNonQuery()
como que no puede proceder con el query, que pasa? porque no sale que estoy
haciendo mal, es mas dificil oledb que sql??

Preguntas similare

Leer las respuestas

#1 Elmer Carías
18/06/2005 - 00:34 | Informe spam
La cuestion es que el OLEDB debes utilizar ? como parametro, lo mismo sucede
si es con ODBC


Atte. Elmer Carías
El Salvador, CentroAmerica
DCE 3
MSN:



"Juan Carlos" wrote in message
news:
Hola a la gente brava de este foro mi pregunta es la siguiente:
trato de actualizar mi tabla con oledbcommand pero al parecer no me
ejecuta
como pensaba, tengo una duda el caracter "@" no es valido en oledb??
porque
hago lo siguiente arrastrando un OleDbCommand y le doy el siguiente query:

update mytable set idemployee = @id where idemployee = @id

y luego llamo a la cansulta:

oledncommand.parameters("@id").Value = IdEmployee.Text
myconnection.open
oledbcommand.executenonquery()
myconnection.close

me dice:
Excepción no controlada del tipo 'System.IndexOutOfRangeException' en
system.data.dll
Información adicional: OleDbParameterCollection no contiene OleDbParameter
con ParameterName '@id'.

bueno entonces quite el objeto y lo hice por codigo asi:

OleDbCommand1 = New OleDbCommand("UPDATE mytable
SET IDemployee = @ID WHERE (IDemployee = @ID)", OleConeccion)

OleDbCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("@id",
System.Data.OleDb.OleDbType.VarWChar, 12, "idemployee"))

OleDbCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("",
System.Data.OleDb.OleDbType.VarWChar, 12,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0,
Byte),
"idemployee", System.Data.DataRowVersion.Original, Nothing))


OleDbCommand1.Parameters("@id").Value = IdEmployee.Text

myConnection.Open()
OleDbCommand1.ExecuteNonQuery()
myconnection.Close()

y ya no tengo problemas con el parameter pero ahora me sale este error:

Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en
system.data.dll

y se posiciona aqui:

OleDbCommand1.ExecuteNonQuery()
como que no puede proceder con el query, que pasa? porque no sale que
estoy
haciendo mal, es mas dificil oledb que sql??




Respuesta Responder a este mensaje
#2 Juan Carlos
18/06/2005 - 01:05 | Informe spam
Si ya le he intentado tambien pero me sale el mismo error
Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en
system.data.dll
tiene que ser algo del query? o que? porque siempre se posiciona en

OleDbCommand1.ExecuteNonQuery()

he buscado de todo y nada plz ayuda..
Respuesta Responder a este mensaje
#3 J. Carlos Herrrero
19/06/2005 - 14:40 | Informe spam
Hola:
Prueba esto
Private Sub btnXXX_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnXXX.Click
Try
'crear la conexion
Dim loConexion As New OleDbConnection()
loConexion.ConnectionString =
"Provider=SQLOLEDB;Server=(local);Database=TUBASE;uid=sa;pwd=;"
'crear sentencia SQL
Dim lsQuery As String
'el parametro lo indicamos con ?
lsQuery = "Update CLIENTES set NOMBRE = ? where IDCLIENTE = 12"
'crear comando
Dim loComando As New OleDbCommand(lsQuery, loConexion)
loComando.Parameters.Add(New OleDbParameter("Nombre",
OleDb.OleDbType.VarChar, 50))
loComando.Parameters("Nombre").Value = "David"
Dim liResultado As Integer
loConexion.Open()
liResultado = loComando.ExecuteNonQuery()
loConexion.Close()
MessageBox.Show("Registros modificados:" & liResultado)
Catch loExcep As OleDbException
MessageBox.Show("Error al conectar con datos" & ControlChars.CrLf &
loExcep.Message & ControlChars.CrLf & loExcep.Source())
End Try

End Sub
Espero que te sirva
Un saludo desde Bilbo:
Carlos

"Juan Carlos" escribió en el mensaje
news:
Hola a la gente brava de este foro mi pregunta es la siguiente:
trato de actualizar mi tabla con oledbcommand pero al parecer no me
ejecuta
como pensaba, tengo una duda el caracter "@" no es valido en oledb??
porque
hago lo siguiente arrastrando un OleDbCommand y le doy el siguiente query:

update mytable set idemployee = @id where idemployee = @id

y luego llamo a la cansulta:

oledncommand.parameters("@id").Value = IdEmployee.Text
myconnection.open
oledbcommand.executenonquery()
myconnection.close

me dice:
Excepción no controlada del tipo 'System.IndexOutOfRangeException' en
system.data.dll
Información adicional: OleDbParameterCollection no contiene OleDbParameter
con ParameterName '@id'.

bueno entonces quite el objeto y lo hice por codigo asi:

OleDbCommand1 = New OleDbCommand("UPDATE mytable
SET IDemployee = @ID WHERE (IDemployee = @ID)", OleConeccion)

OleDbCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("@id",
System.Data.OleDb.OleDbType.VarWChar, 12, "idemployee"))

OleDbCommand1.Parameters.Add(New
System.Data.OleDb.OleDbParameter("",
System.Data.OleDb.OleDbType.VarWChar, 12,
System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0,
Byte),
"idemployee", System.Data.DataRowVersion.Original, Nothing))


OleDbCommand1.Parameters("@id").Value = IdEmployee.Text

myConnection.Open()
OleDbCommand1.ExecuteNonQuery()
myconnection.Close()

y ya no tengo problemas con el parameter pero ahora me sale este error:

Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en
system.data.dll

y se posiciona aqui:

OleDbCommand1.ExecuteNonQuery()
como que no puede proceder con el query, que pasa? porque no sale que
estoy
haciendo mal, es mas dificil oledb que sql??




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida