"Debes agregarle la columna al DataTable (suponiendo que tenemos un
DataTable llamado oTabla) ...
oTabla.Columns.Add("NombreColumna",typeof(String));"
Después de dar unas pocas vueltas he probado:
" nombre_dataset.Tables("nombre_tabla").columns.add("nombre_columna",type)
"
el tipo que necesito para la nueva columna es INTEGER.
pues bien, si en el lugar del tipo pongo integer el depurador me dice:
"
Mensaje de error del compilador: BC30108: 'Integer' es un tipo y, por
tanto, no es una expresión válida.
Error de código fuente:
Línea 21: Dim dataset As System.Data.dataset = New
System.Data.dataset
Línea 22: dataAdapter.Fill(dataset)
Línea 23:
dataset.tables("tObras").columns.add("respuesta",integer)
Línea 24:
"
Si pongo integer entre "":
"
Mensaje de error del compilador: BC30311: Un valor de tipo 'String' no
se puede convertir en '2'.
Error de código fuente:
Línea 21: Dim dataset As System.Data.dataset = New
System.Data.dataset
Línea 22: dataAdapter.Fill(dataset)
Línea 23:
dataset.tables("tObras").columns.add("respuesta","integer")
Línea 24:
Línea 25:
"
Y por fin si no declaro el tipo sino que como parámetro de la propiedad
add del datacolumncollection paso únicamente el nombre que quiero para
la nueva columna (he visto en el classbrowser que es otra de las formas
de invocar esta propiedad) me sale el siguiente error:
"
Detalles de la excepción: System.NullReferenceException: Referencia a
objeto no establecida como instancia de un objeto.
Error de código fuente:
Línea 21: Dim dataset As System.Data.dataset = New
System.Data.dataset
Línea 22: dataAdapter.Fill(dataset)
Línea 23: dataset.tables("tObras").columns.add("respuesta")
"
No tengo sé que está mal.
Agradezco cualquier sugerencia.
Gracias, Momak.
pero en VB es un poco distinto:
oTabla.Columns.Add("NombreColumna", Type.GetType("System.String"))
--
Sergio Florez M.
Medellín, Colombia
"momak" <aalaalal@alala.a> escribió en el mensaje
news:eBSBswL8...@TK2MSFTNGP12.phx.gbl...
"
Detalles de la excepción: System.NullReferenceException: Referencia a
objeto no establecida como instancia de un objeto.
Error de código fuente:
Línea 21: Dim ds As System.Data.dataset = New
System.Data.dataset
Línea 22: dataAdapter.Fill(ds)
Línea 23:
ds.tables("tObras").columns.add("respuesta",Type.GetType("System.integer"))
Línea 24:
"
Lo único que se me ocurre es que la tabla en cuestión, no sellame
"tObras" en el dataset. He revisado el código generado por el webmatrix,
para rellenar el dataset, y en ningún sitio he visto que le diera un
nombre en el dataset a la tabla que carga, así que he supuesto que
tendría el mismo nombre que tenía en la base de datos.
Aunque no sé, quizás no tenga que ver con esto.
A ver si alguien me puede decir donde está el problema.
De nuevo gracias, Momak.
Detalles de la excepción: System.ArgumentNullException: El argumento
'dataType' no puede ser nulo. Nombre del parámetro: dataType
Error de código fuente:
Línea 21: Dim ds As System.Data.dataset = New
System.Data.dataset
Línea 22: dataAdapter.Fill(ds)
Línea 23:
ds.tables("table").columns.add("respuesta",Type.GetType("System.integer"))
Línea 24:
Muchas gracias por tu ayuda, Momak.
Por cierto mira a ver si me puedes decir también como sería en VB el
siguiente código para asignar un valor a un campo del primer registro
del datatable
oTabla.Rows[0]["NombreColumna] = "valor"
Hola Aragorn !
Puedes llenar el grid con un DataTable :
Dim dt As DataTable
Dim dr As DataRow
Dim i As Integer
'CREA EL DataTable
dt = New DataTable
'AGREGAS LAS COLUMNAS (NOMBRE,TIPO) QUE CONTENGA TU QUERY MAS UNA (LA DE LA
SUMA)
dt.Columns.Add(New DataColumn("Valor1", GetType(String)))
dt.Columns.Add(New DataColumn("Valor2.", GetType(String)))
dt.Columns.Add(New DataColumn("Suma", GetType(String)))
'CREAS LOS RENGLONES Y AGREGAS DATOS EN ESTE EJEMPLO UTILIZO
'UN LAZO PARA LLENAR 12 RENGLONES (EN TU CASO RECORRER EL DATAREADER,
ASIGNAR A CADA COLUMNA EL VALOR DE LAS COLUMNAS DEL DATAREADER Y EFECTUAR LA
SUMA)
For i = 1 To 12
dr = dt.NewRow()
'ASIGNO VALORES CUALQUIERA A LAS COLUMNAS
dr(0)=valor primera columna
dr(1) = valor segunda columna
dr(2) = suma valor primera columna+valor segunda columna
'AGREGO CADA RENGLON A LA DATATABLE
dt.Rows.Add(dr)
Next
dr = dt.NewRow()
dt.Rows.Add(dr)
DataGrid1.DataSource = new DataView(dt)
DataGrid1.DataBind
(\__/)
(=':'=)
(")_(")
ONil@.
MX.
"momak" <aalaalal@alala.a> wrote in message
news:eBSBswL8...@TK2MSFTNGP12.phx.gbl...