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

ayuda

Estas en el tema de ayuda en el foro de .NET en Foros del Web. tengo los siguientes problemas al editar mi datagrid 1 tengo un campo int32 el cual estoy tratando de actualizar el el datagrid pero cada vez ...
  #1 (permalink)  
Antiguo 29/03/2005, 12:07
 
Fecha de Ingreso: marzo-2005
Mensajes: 190
Antigüedad: 19 años, 8 meses
Puntos: 0
Exclamación ayuda

tengo los siguientes problemas al editar mi datagrid

1 tengo un campo int32 el cual estoy tratando de actualizar el el datagrid pero cada vez que lo intento me arroja el siguiente error : System.FormatException: La cadena de entrada no tiene el formato correcto. at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) at System.String.System.IConvertible.ToInt32(IFormatP rovider provider) at System.Convert.ToInt32(Object value) at System.Data.Common.Int32Storage.Set(Int32 record, Object value) at System.Data.DataColumn.set_Item(Int32 record, Object value)No se puede almacenar <> en la columna IDDeInventario. El tipo esperado es Int32.
2 cuando pongo la linea del campo int32 en comentario me funciona para ingresar datos ya que tengo los demas como string
3 pero cuando deseo hacer el update me reclama que debo declarar el @
4 cuando elimino no me hace nada
5 y ademas me aparece el siguiente error :Error de servidor en la aplicación '/ingreso'.
--------------------------------------------------------------------------------

No se puede insertar un valor explícito en la columna identidad de la tabla 'Inventario' cuando IDENTITY_INSERT es OFF.
esto me sucede al momento de ingresar un dato al precionar actualizar


alguien me podria indicar pq sucede esto y como puedo solucionarlo
__________________
MARIA JESUS :si: :aplauso:

----------------------------------------------------
"no hay nada bueno ni malo el pensar lo hace asi"
w.shakespeare

Última edición por mjesus20; 29/03/2005 a las 12:11
  #2 (permalink)  
Antiguo 29/03/2005, 12:20
 
Fecha de Ingreso: septiembre-2004
Mensajes: 407
Antigüedad: 20 años, 2 meses
Puntos: 1
es porque tenes el campo autonumerico en esa columna pone la propiedad que no sea editable,
  #3 (permalink)  
Antiguo 29/03/2005, 12:23
 
Fecha de Ingreso: marzo-2005
Mensajes: 190
Antigüedad: 19 años, 8 meses
Puntos: 0
y como hago eso
__________________
MARIA JESUS :si: :aplauso:

----------------------------------------------------
"no hay nada bueno ni malo el pensar lo hace asi"
w.shakespeare
  #4 (permalink)  
Antiguo 29/03/2005, 12:25
Avatar de mozka  
Fecha de Ingreso: junio-2004
Ubicación: México
Mensajes: 37
Antigüedad: 20 años, 5 meses
Puntos: 0
no se pueden insertar valores en columnas marcadas como autonumericos, ya que el motor de base de datos se encarga de calcular cual es el siguiente numero y lo inserta automaticamente, en SQLServer existe una propiedad IDENTITY_INSERT que cuando se pone a ON si se puede, pero se corre el riesgo de corromper la secuencia de la tabla, para arreglar eso tan solo no tienes que actualizar esa columna
__________________
hola :adios:
  #5 (permalink)  
Antiguo 29/03/2005, 12:26
 
Fecha de Ingreso: septiembre-2004
Mensajes: 407
Antigüedad: 20 años, 2 meses
Puntos: 1
fijate en el genrador de propiedades del datagrid, fijate en la columna donde tenes ese campo tildale el checbox solo lectura, fijate estoy aca hasta las 19:00 no te hagas problema
  #6 (permalink)  
Antiguo 29/03/2005, 12:36
 
Fecha de Ingreso: marzo-2005
Mensajes: 190
Antigüedad: 19 años, 8 meses
Puntos: 0
ok ya solucione el problema del siguiente error

:Error de servidor en la aplicación '/ingreso'.
--------------------------------------------------------------------------------

No se puede insertar un valor explícito en la columna identidad de la tabla 'Inventario' cuando IDENTITY_INSERT es OFF.
pero ahora tengo el siguinte problema

tengo el siguiente campo en base de datos sql

iddesolicitud de tipo int longitud 4 precision 10 y acepta nulos pero al momento de ingresar ese campo sin valor me ingresa automaticamente un 0 alguien me podria indicar pq
__________________
MARIA JESUS :si: :aplauso:

----------------------------------------------------
"no hay nada bueno ni malo el pensar lo hace asi"
w.shakespeare
  #7 (permalink)  
Antiguo 29/03/2005, 12:39
Avatar de mozka  
Fecha de Ingreso: junio-2004
Ubicación: México
Mensajes: 37
Antigüedad: 20 años, 5 meses
Puntos: 0
debe de ser por que al momento de especificar el esquema de la tabla pusiste que el valor por defecto de esa columna sea 0
__________________
hola :adios:
  #8 (permalink)  
Antiguo 29/03/2005, 12:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 190
Antigüedad: 19 años, 8 meses
Puntos: 0
no ya q no declare la variable con valor la declare de la suiguiente forma

Dim iddesolicitud As Int32 = Val(CType(e.Item.Cells(2).Controls(0), TextBox).Text)

salvo que este mal declarada
__________________
MARIA JESUS :si: :aplauso:

----------------------------------------------------
"no hay nada bueno ni malo el pensar lo hace asi"
w.shakespeare
  #9 (permalink)  
Antiguo 29/03/2005, 12:49
 
Fecha de Ingreso: septiembre-2004
Mensajes: 407
Antigüedad: 20 años, 2 meses
Puntos: 1
Mensaje

hace lo siguiente
Dim iddesolicitud as string
dim txtid as new textbox
txtid=CType(e.Item.Cells(2).Controls(0), TextBox)

if txtid.text=""
idsolicitud=""
else
iddesolicitud =(CType(e.Item.Cells(2).Controls(0), TextBox).Text)
endif
cuando haces el insert pregunta si idsolicitus<>"" si es asi pasale Val(iddesolicitud)
  #10 (permalink)  
Antiguo 29/03/2005, 12:54
 
Fecha de Ingreso: marzo-2005
Mensajes: 190
Antigüedad: 19 años, 8 meses
Puntos: 0
probe tu codigo pero no me funciona mira tengo declarados unos campos string de la siguiente forma


Dim lugar As String = CType(e.Item.Cells(19).Controls(0), TextBox).Text y me funcionan muy bien segun lo q me explicaron el ctype hace una transformacion del campo string a texto el cual se guarda en textbox imaginario mientras este se guarda en la base de datos

pero al momento de hacer lo mismo con la variable

iddesolicitud no me resulta
__________________
MARIA JESUS :si: :aplauso:

----------------------------------------------------
"no hay nada bueno ni malo el pensar lo hace asi"
w.shakespeare
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 13:56.