Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2005, 14:29
Avatar de univercity
univercity
 
Fecha de Ingreso: noviembre-2002
Mensajes: 681
Antigüedad: 21 años, 10 meses
Puntos: 0
Sql Y OleDb, ¿Como?

Que tal,

Miren tengo el siguiente problema para aprender de Asp.net me baje unos ejemplos del QuickStart, y me han dado buenos resultados hasta que me encuentro con un actualizacion o insercion en una base de datos ACCESS.

el problema es con estos parametros...

Catch Exp As SqlException
If Exp.Number = 2627
Message.InnerHtml = "ERROR: ya existe un registro con la misma clave principal"
Else
Message.InnerHtml = "ERROR: no se pudo actualizar el registro, compruebe que los campos están rellenos correctamente"
End If
Message.Style("color") = "red"


como los declaro con Oledb, porque si lo dejo como esta me arroja error algo asi como la exception Number no es miembro de algo...



ahora el otro problema que tengo es con esto...

MyCommand.Parameters.Add(New SqlParameter("@Id", SqlDbType.NVarChar, 11))
MyCommand.Parameters.Add(New SqlParameter("@LName", SqlDbType.NVarChar, 40))
MyCommand.Parameters.Add(New SqlParameter("@FName", SqlDbType.NVarChar, 20))
MyCommand.Parameters.Add(New SqlParameter("@Phone", SqlDbType.NChar, 12))
MyCommand.Parameters.Add(New SqlParameter("@Address", SqlDbType.NVarChar, 40))
MyCommand.Parameters.Add(New SqlParameter("@City", SqlDbType.NVarChar, 20))
MyCommand.Parameters.Add(New SqlParameter("@State", SqlDbType.NChar, 2))
MyCommand.Parameters.Add(New SqlParameter("@Zip", SqlDbType.NChar, 5))
MyCommand.Parameters.Add(New SqlParameter("@Contract", SqlDbType.NVarChar,1))

MyCommand.Parameters("@Id").Value = MyDataGrid.DataKeys(CInt(E.Item.ItemIndex))


Yo leo bien la base de datos, la ordeno como quiero, la sumo etc. pero cuando quiero actualizar no he podido dar con la solucion, lo que he hecho es reemplazar Sqlparameter por OledbParameter, pero a pesar de que me deja pasar despues no graba, quizas mi problema este en los formatos de campos...
SqlDbType.NVarChar, 11

que no se si es correcto esto o no, tratandose de una base de ACCESS.
alguien me puede hechar una mano porfa.
hay alguna manera mas sencilla de grabar en la base de datos???




Por siaca el error que me arroja es:
System.IndexOutofRangeException :Index Was outside the bounds of the array
__________________
"Lo importante es nunca dejar de hacerse preguntas"
Albert Einstein

Última edición por univercity; 16/03/2005 a las 14:36