soy yo otra vez, es que no me llevo bien con access jeje
La cuestion es que intento modiificar un registro y ada, luego cuando lleno el grid de nuevo (asp.net 1.1) me recupera el registro que habia que tenido que actualizar, es decir, no va ni pa tras pero lo gracioso es que la misma consulta la pongo en la base de datos y me actualiza corrrectamente ¿que leches le pasa?
public static Peliculas ModificarRegistro(int id,string titulo,int video,int audio,int formato,bool valor, int discos,string comment,int genero)
{
Peliculas reg =null;
OleDbConnection cn;
OleDbCommand cmd ;
cmd=new OleDbCommand();
string cad=(System.Configuration.ConfigurationSettings.Ap pSettings.Get("CadenaConexion"));
string sql;
cn=new OleDbConnection(cad);
OleDbParameter paramid = new OleDbParameter(":id",OleDbType.Integer);
paramid.Value=id;
OleDbParameter param1 = new OleDbParameter(":titulo",OleDbType.VarChar,50 );
param1.Value=titulo;
OleDbParameter param2 = new OleDbParameter(":video",OleDbType.Integer);
param2.Value=video;
OleDbParameter param3 = new OleDbParameter(":audio",OleDbType.Integer);
param3.Value=audio;
OleDbParameter param4 = new OleDbParameter(":formato",OleDbType.Integer);
param4.Value=formato;
OleDbParameter param5 = new OleDbParameter(":referencia",OleDbType.Integer);
param5.Value=id;
OleDbParameter param6 = new OleDbParameter(":promo",OleDbType.Boolean);
param6.Value=valor;
OleDbParameter param7 = new OleDbParameter(":discos",OleDbType.Integer );
param7.Value=discos;
OleDbParameter param8 = new OleDbParameter(":comment",OleDbType.VarChar,200 );
param8.Value=comment;
OleDbParameter param9 = new OleDbParameter(":g",OleDbType.Integer );
param9.Value=genero;
cmd.Parameters.Add(param5);
cmd.Parameters.Add(param1);
cmd.Parameters.Add(param2);
cmd.Parameters.Add(param3);
cmd.Parameters.Add(param4);
cmd.Parameters.Add(param6);
cmd.Parameters.Add(paramid);
//añado los parametros a modificar en el primer update
//hago dos operaciones de update ya que sino el access se e pira la pinza dando error
//un primer update con algunos valores de la tabla y el segundo con otros
sql="update peliculas_comprimidas set titulo=:titulo ,video=:video,audio=:audio,formato=:formato,promoc ional=:valor where referencia=:id";
cmd.CommandText=sql;
cmd.Connection=cn;
cn.Open();
try
{
cmd.ExecuteNonQuery();
//"se supone" que hace la primera actualizacion
sql="update peliculas_comprimidas set discos=:discos,comentarios=:comment,genero=:g where referencia=:id";
cn.Close();
//creo la segunda consulta cerrando la conection
cmd.CommandText=sql;
cmd.Parameters.Add(param7);
cmd.Parameters.Add(param8);
cmd.Parameters.Add(param9);
cmd.Connection=cn;
cn.Open();
cmd.ExecuteNonQuery();
reg=new Peliculas(id);
//actualizo el objeto modificado y lo devuelvo actualizado
}
catch(Exception ex)
{
ExceptionManager.Publish(ex);
throw new Exception("Error" + ex.Message,ex);
}
return reg;
}
}