Problema para actualizar una tabla con una columna calculada

04/08/2008 - 17:26 por Tomas | Informe spam
Hola a todos.

Tengo un problema para actualizar una tabla que contiene una columna
calculada.

Me da el siguiente error: 'Campo_4' no se puede modificar, por ser una
columna calculada.

La base de datos es Sql Server 2000.

La tabla tiene cuatro campos, el primero es la clave "Campo_1", los dos
siguientes son datos y el cuarto, "Campo_4", es una columna calculada así:
"Campo_2 * Campo_3".

El trozo de código para reproducir el problema es el siguiente:

// Conector a la base de datos.
SqlDataAdapter sqlDA = new SqlDataAdapter("SELECT * FROM dbo.Tabla",
conexion);
DataSet sqlDS = new DataSet();

// Cargar los datos de la tabla.
sqlDA.Fill(sqlDS, "Tabla");

// Agregar un registro a la tabla.
DataTable dataTable = sqlDS.Tables["Tabla"];
DataRow dr = dataTable.NewRow();
dr["Campo_1"] = 1;
dr["Campo_2"] = 2;
dr["Campo_3"] = 3;
dataTable.Rows.Add(dr);

// Actualizar la tabla.
sqlDA.Update(sqlDS, "Tabla"); < Aqui el ERROR: 'Campo_4' no se puede
modificar, por ser una columna calculada.

¿Alguien sabe como se puede actualizar una tabla que tenga columnas
calculadas?.

Gracias por anticipado.

Tomás.
 

Leer las respuestas

#1 Gustavo Larriera (MVP)
04/08/2008 - 18:43 | Informe spam
Simplemente usted quiere hacer algo que no está permitido hacer: Una columna
calculada no es actualizable (justamente, porque se calcula automáticamente).

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Tomas" wrote:

Hola a todos.

Tengo un problema para actualizar una tabla que contiene una columna
calculada.

Me da el siguiente error: 'Campo_4' no se puede modificar, por ser una
columna calculada.

La base de datos es Sql Server 2000.

La tabla tiene cuatro campos, el primero es la clave "Campo_1", los dos
siguientes son datos y el cuarto, "Campo_4", es una columna calculada así:
"Campo_2 * Campo_3".

El trozo de código para reproducir el problema es el siguiente:

// Conector a la base de datos.
SqlDataAdapter sqlDA = new SqlDataAdapter("SELECT * FROM dbo.Tabla",
conexion);
DataSet sqlDS = new DataSet();

// Cargar los datos de la tabla.
sqlDA.Fill(sqlDS, "Tabla");

// Agregar un registro a la tabla.
DataTable dataTable = sqlDS.Tables["Tabla"];
DataRow dr = dataTable.NewRow();
dr["Campo_1"] = 1;
dr["Campo_2"] = 2;
dr["Campo_3"] = 3;
dataTable.Rows.Add(dr);

// Actualizar la tabla.
sqlDA.Update(sqlDS, "Tabla"); < Aqui el ERROR: 'Campo_4' no se puede
modificar, por ser una columna calculada.

¿Alguien sabe como se puede actualizar una tabla que tenga columnas
calculadas?.

Gracias por anticipado.

Tomás.



Preguntas similares