Dim arrAltas As Array
Me.dgAltas.Items.CopyTo(arrAltas, 0)
pero me sale el error "Object reference not set to an instance of an object", aunque no sé si se refiere al vector o a la colección del datagrid.
Gracias y un saludo.
|
|
#1 (permalink) |
![]() |
Copiar en array datos de un datagrid
Dim arrAltas As Array Me.dgAltas.Items.CopyTo(arrAltas, 0) pero me sale el error "Object reference not set to an instance of an object", aunque no sé si se refiere al vector o a la colección del datagrid. Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |
|
|
|
|
|
#2 (permalink) |
![]() |
Quizás sea mejor replantear la pregunta.
Los datos del datagrid quiero insertarlos en una base de datos. La base de datos tiene los mismos campos que el Datagrid excepto un campo. Este campo es el resultado de cifrar con sha1 el campo DNI del datagrid. Es decir, el datagrid tiene los campos siguientes: |Num|Nombre|Apellido1|Apellido2|DNI| y la base de datos: |Num|Nombre|Apellido1|Apellido2|DNI|Pass Creo que la mejor opción sería recoger todos los datos del datagrid en un dataset y luego actualizar la base de datos con ese dataset ¿no? Veo una pega en el cifrado del campo.
__________________
¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |
|
|
|
|
|
#3 (permalink) |
![]() Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.243
|
Ten en cuenta que el DataGrid es más un visor que un _contenedor_ de datos, me queda claro lo que quieres hacer, pero no el proceso que haces para conseguir tu objetivo, creo que estás un poco confundido...
Saludos |
|
|
|
|
|
#4 (permalink) |
![]() |
Je je, sí, la verdad es que sí que me lío bastante en cuanto aparecen en escena vectores, matrices y colecciones. Bueno, el proceso que he seguido al final es insertar paso por paso cada fila del datagrid:
Código:
Es un poco lento, pero no suele haber más de diez altas a la semana, por lo que no se ralentiza el proceso demasiado. Dim conSQL As New SqlConnection(ConfigurationSettings.AppSettings("strConSQL"))
conSQL.Open()
'ALTAS ##########################
If Me.dgAltas.Items.Count > 0 Then
Dim insCom As New SqlCommand
insCom.CommandType = CommandType.Text
insCom.Connection = conSQL
Dim strIns As String
For i As Integer = 0 To Me.dgAltas.Items.Count - 1
strIns = "INSERT INTO acceso_socios" & _
" (numero,nombre,apellido1,apellido2,dni,pass)" & _
" VALUES (" & _
Me.dgAltas.Items(i).Cells(0).Text & "," & _
"'" & Me.dgAltas.Items(i).Cells(1).Text.Replace("'", "''") & "'," & _
"'" & Me.dgAltas.Items(i).Cells(2).Text.Replace("'", "''") & "'," & _
"'" & Me.dgAltas.Items(i).Cells(3).Text.Replace("'", "''") & "'," & _
"'" & Me.dgAltas.Items(i).Cells(4).Text.Replace("'", "''") & "'," & _
"'" & cifraDNI(Me.dgAltas.Items(i).Cells(4).Text) & "')"
insCom.CommandText = strIns
Try
insCom.ExecuteNonQuery()
Catch ex As Exception
Response.Write("Error en Socio" & Me.dgAltas.Items(i).Cells(0).Text & "<br>")
End Try
Next
End If
Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!! Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! |
|
|
|
|
|
#5 (permalink) |
![]() |
Cita:
Iniciado por Bravenap
Je je, sí, la verdad es que sí que me lío bastante en cuanto aparecen en escena vectores, matrices y colecciones. Bueno, el proceso que he seguido al final es insertar paso por paso cada fila del datagrid:
Código:
Es un poco lento, pero no suele haber más de diez altas a la semana, por lo que no se ralentiza el proceso demasiado. Dim conSQL As New SqlConnection(ConfigurationSettings.AppSettings("strConSQL"))
conSQL.Open()
'ALTAS ##########################
If Me.dgAltas.Items.Count > 0 Then
Dim insCom As New SqlCommand
insCom.CommandType = CommandType.Text
insCom.Connection = conSQL
Dim strIns As String
For i As Integer = 0 To Me.dgAltas.Items.Count - 1
strIns = "INSERT INTO acceso_socios" & _
" (numero,nombre,apellido1,apellido2,dni,pass)" & _
" VALUES (" & _
Me.dgAltas.Items(i).Cells(0).Text & "," & _
"'" & Me.dgAltas.Items(i).Cells(1).Text.Replace("'", "''") & "'," & _
"'" & Me.dgAltas.Items(i).Cells(2).Text.Replace("'", "''") & "'," & _
"'" & Me.dgAltas.Items(i).Cells(3).Text.Replace("'", "''") & "'," & _
"'" & Me.dgAltas.Items(i).Cells(4).Text.Replace("'", "''") & "'," & _
"'" & cifraDNI(Me.dgAltas.Items(i).Cells(4).Text) & "')"
insCom.CommandText = strIns
Try
insCom.ExecuteNonQuery()
Catch ex As Exception
Response.Write("Error en Socio" & Me.dgAltas.Items(i).Cells(0).Text & "<br>")
End Try
Next
End If
Gracias y un saludo. Hola como estas muy bueno tu aporte sabes, yo tenia el mismo problema pense que lo habia solucionado asi no se si alguien me pueda ayudar, explico lo que pasa es que quiero guardar los detalles de una factura, entonces yo tengo un datagrid con 'Codigo' 'Producto' 'Descripcion' 'Cantidad' 'Punit' 'Total' pero que pasa este array que mencionas guarda los datos, en campos que son String pero los campos que yo tengo en el datagrid quiero guardarlos en int por ejemplo el codigo del producto la cantidad y el total cosa que no pasa queria saber si alguien sabe como, y disculpen la ignorancia. grax |
|
|
|
![]() |
| Herramientas | |
| Desplegado | |
|
|