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??
 

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??




Preguntas similares