¿C贸mo insertar un DataRow en un DataSet?
Buenas,
Estoy intentando insertar una fila en un DataSet que esta vinculado a un JdbTable:
// Declaraci贸n del objeto JdbTable
JdbTable objjdbTable = new JdbTable();
// Declaraci贸n de la Query que me trae el valor que quiero meter en el DataRow
String sQuery = "SELECT Columna1 FROM Tabla";
// Declaraci贸n del QueryDataSet y ejecuci贸n de la Query (objConnection es de tipo Connection)
QueryDataSet objQueryDataSet = new QueryDataSet();
objQueryDataSet.setQuery(new QueryDescriptor(new Database(objConnection), sQuery));
// Asignaci贸n del objQueryDataSet al JdbTable
objjdbTable.setDataSet(objQueryDataSet);
// Declaraci贸n del objeto DataSet que voy a manejar y asignaci贸n al DataSet vinculado al JdbTable
DataSet objDataSet = objjdbTable.getDataSet();
// Declaraci贸n de un DataRow
DataRow objDataRow = new DataRow(objDataSet);
// Asigno valor al DataRow
objDataRow.setString("Columna1",聰Hola聰);
// Intento a帽adir el DataRow creado al DataSet y es aqu铆 cuando me da el error
objDataSet.addRow(objDataRow);
El error es el siguiente:
"El DataSet no tiene identificadores de fila un铆vocos. Nota: En el caso de QueryDataSet hay que desactivar metaDataUpdate.IDFILEA en la propiedad MetaDataUpdate, adem谩s de asignar una columna a la propiedad RowId."
*** La conexi贸n y la query est谩n bien definidas y he comprobado que funcionan correctamente (de hecho si esto no fuera asi la l铆nea en la que Asigno valor al DataRow dar铆a un error, sino da error es que "Columna1" existe en el DataSet vinculado al JdbTable.
¿Alguien sabe como a帽adir esta fila?. He intentado desactivar las CONTRAINT del DataSet pero no he encontrado como y no se me ocurre otra cosa.
Estoy intentando insertar una fila en un DataSet que esta vinculado a un JdbTable:
// Declaraci贸n del objeto JdbTable
JdbTable objjdbTable = new JdbTable();
// Declaraci贸n de la Query que me trae el valor que quiero meter en el DataRow
String sQuery = "SELECT Columna1 FROM Tabla";
// Declaraci贸n del QueryDataSet y ejecuci贸n de la Query (objConnection es de tipo Connection)
QueryDataSet objQueryDataSet = new QueryDataSet();
objQueryDataSet.setQuery(new QueryDescriptor(new Database(objConnection), sQuery));
// Asignaci贸n del objQueryDataSet al JdbTable
objjdbTable.setDataSet(objQueryDataSet);
// Declaraci贸n del objeto DataSet que voy a manejar y asignaci贸n al DataSet vinculado al JdbTable
DataSet objDataSet = objjdbTable.getDataSet();
// Declaraci贸n de un DataRow
DataRow objDataRow = new DataRow(objDataSet);
// Asigno valor al DataRow
objDataRow.setString("Columna1",聰Hola聰);
// Intento a帽adir el DataRow creado al DataSet y es aqu铆 cuando me da el error
objDataSet.addRow(objDataRow);
El error es el siguiente:
"El DataSet no tiene identificadores de fila un铆vocos. Nota: En el caso de QueryDataSet hay que desactivar metaDataUpdate.IDFILEA en la propiedad MetaDataUpdate, adem谩s de asignar una columna a la propiedad RowId."
*** La conexi贸n y la query est谩n bien definidas y he comprobado que funcionan correctamente (de hecho si esto no fuera asi la l铆nea en la que Asigno valor al DataRow dar铆a un error, sino da error es que "Columna1" existe en el DataSet vinculado al JdbTable.
¿Alguien sabe como a帽adir esta fila?. He intentado desactivar las CONTRAINT del DataSet pero no he encontrado como y no se me ocurre otra cosa.
¡Solucionado!
lo ten铆a delante de las narices, me lo dec铆a el mensaje de error:
"El DataSet no tiene identificadores de fila un铆vocos. Nota: En el caso de QueryDataSet hay que desactivar metaDataUpdate.IDFILEA en la propiedad MetaDataUpdate, adem谩s de asignar una columna a la propiedad RowId."
y eso exactamente es lo que hay que hacer:
objQueryDataSet.setRowId("Columna1",true);
Si a alguien le ocurre pues ya sabe
lo ten铆a delante de las narices, me lo dec铆a el mensaje de error:
"El DataSet no tiene identificadores de fila un铆vocos. Nota: En el caso de QueryDataSet hay que desactivar metaDataUpdate.IDFILEA en la propiedad MetaDataUpdate, adem谩s de asignar una columna a la propiedad RowId."
y eso exactamente es lo que hay que hacer:
objQueryDataSet.setRowId("Columna1",true);
Si a alguien le ocurre pues ya sabe
