Foros del Web » Programación para mayores de 30 ;) » .NET »

Editar datagrid

Estas en el tema de Editar datagrid en el foro de .NET en Foros del Web. Wenas, en el siguiente código me da error al coger el campo "codi" ya que es una columna enlazada ReadOnly y no me deja hacer ...
  #1 (permalink)  
Antiguo 29/04/2009, 02:52
 
Fecha de Ingreso: noviembre-2007
Mensajes: 44
Antigüedad: 16 años, 5 meses
Puntos: 0
Editar datagrid

Wenas, en el siguiente código me da error al coger el campo "codi" ya que es una columna enlazada ReadOnly y no me deja hacer la conversión a textbox.

Dim command As SqlClient.SqlCommand
con.Open()

Dim commandupdate As String = "UPDATE Noticia SET nottitol=titular, notdatpub=data, nottext=descripcio WHERE notid=codi;"
command = New SqlClient.SqlCommand(commandupdate, con)

command.Parameters.Add(New SqlClient.SqlParameter("codi", SqlDbType.Int, 4))
command.Parameters("codi").Value = CType(e.Item.Cells(1).Controls(0), TextBox).Text




command.Parameters.Add(New SqlClient.SqlParameter("titular", SqlDbType.VarChar, 100))
command.Parameters("titular").Value = CType(e.Item.Cells(2).Controls(0), TextBox).Text

command.Parameters.Add(New SqlClient.SqlParameter("descripcio", SqlDbType.VarChar, 5000))
command.Parameters("descripcio").Value = CType(e.Item.Cells(3).Controls(0), TextBox).Text

command.Parameters.Add(New SqlClient.SqlParameter("data", SqlDbType.SmallDateTime, 4))
command.Parameters("data").Value = CDate(CType(e.Item.Cells(4).Controls(0), TextBox).Text)

command.ExecuteNonQuery()


Alguien sabe como puedo coger el código? Es que siempre me da este error:

"El argumento especificado está fuera del intervalo de valores válidos. Nombre del parámetro: index"



Muchas gracias

Salu2


PD: Faltan los ('@') porque sino la web dice que no puedo colgar webs ni links.
  #2 (permalink)  
Antiguo 29/04/2009, 03:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 44
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Editar datagrid

SOLUCIONADO


command.Parameters.Add(New SqlClient.SqlParameter("codi", SqlDbType.Int, 4))
command.Parameters("codi").Value = CType(e.Item.Cells(1).Controls(0), TextBox).Text



En vez de hacerlo así hago.

command.Parameters.Add(New SqlClient.SqlParameter("codi", SqlDbType.Int, 4))
command.Parameters("codi").Value = e.Item.Cells(1).Text



Muchas gracias igualmente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:39.