ADO .NET problema con commandbuilder

cstange
08 de Febrero del 2005
Hola,
Mi problema es que de alguna forma no puedo generar el comando update, delete con el CommandBuilder. Laí que era producto de la falta de una llave primaria pero no es así, la tabla la contiene y además la he definido en el dataset. Si alguien puede ayudarme se lo agradecería pues estoy quebrando mi cabeza,.

Este es parte de mi codigo:

adapNivel1.SelectCommand = conn.CreateCommand();
adapNivel1.SelectCommand.CommandText =
"select * from nivel1";

// llenamos la informacion
adapNivel1.Fill(datasetNiveles, "nivel1");

//Hay que ponerle llaves primarias, constraints
DataTable tablaNivel1 = datasetNiveles.Tables["nivel1"];
DataColumn[] pkeyNivel1 = { tablaNivel1.Columns["nivel_0"] };
tablaNivel1.PrimaryKey = pkeyNivel1;

OracleCommandBuilder cmdBuilderNivel1 = new OracleCommandBuilder(adapNivel1);


Console.WriteLine("{0}n",cmdBuilderNivel1.GetInsertCommand().CommandText);

Aqui ocurre el error!!!
Console.WriteLine("{0}n",cmdBuilderNivel1.GetUpdateCommand().CommandText);
Console.WriteLine("{0}n",cmdBuilderNivel1.GetDeleteCommand().CommandText);


Detalle Errror:

System.InvalidOperationException: Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.
at System.Data.OracleClient.OracleCommandBuilder.BuildWhereClause(DataTableMapping mappings, DataRow dataRow, StringBuilder builder, IDbCommand command, Int32 parameterCount, Boolean isupdate)
at System.Data.OracleClient.OracleCommandBuilder.BuildUpdateCommand(DataTableMapping mappings, DataRow dataRow)
at System.Data.OracleClient.OracleCommandBuilder.base_GetUpdateCommand()
at System.Data.OracleClient.OracleCommandBuilder.GetUpdateCommand()