No inserta en BBDD
Publicado por Joseph (3 intervenciones) el 05/07/2005 18:34:16
Hola , he realizado un método que recibe como argumento un objeto de una clase pero al realizar el insert en la tabla con los parametros recogidos no inserta , es más el int que me devuelve es 0. Lo mas raro es que tengo el mismo método para insertar los parámetros de un objeto de otra clase y si lo hace bien. No me da ninguna excepcion.
A ver si me podeis ayudar.
Este es el método que no inserta.
public string altaCancion(Cancion objc)
{
//OleDbTransaction myTrans;
string mensaje="";
try
{
Console.WriteLine("altaCancion");
conectar();
//myTrans = this.conex.BeginTransaction(IsolationLevel.Serializable);
this.adapter = new OleDbDataAdapter();
this.cominsert = new OleDbCommand(sqls.devuelveSQL("PINSCANCIONES"),this.conex);
//this.cominsert.Transaction=myTrans;
this.cominsert.Parameters.Add(new OleDbParameter("@album",OleDbType.SmallInt));
this.cominsert.Parameters["@album"].Value = objc.getCodAlbum();
this.cominsert.Parameters.Add(new OleDbParameter("@codcancion",OleDbType.SmallInt));
this.cominsert.Parameters["@codcancion"].Value = objc.getCodCancion();
this.cominsert.Parameters.Add(new OleDbParameter("@nombre",OleDbType.VarWChar,50,"nombre"));
this.cominsert.Parameters["@nombre"].Value = objc.getNombre();
this.cominsert.Parameters.Add(new OleDbParameter("@formato",OleDbType.VarWChar,4,"formato"));
this.cominsert.Parameters["@formato"].Value = objc.getFormato();
this.adapter.InsertCommand = this.cominsert;
//this.adapter.InsertCommand.Transaction = myTrans;
int registros = this.adapter.InsertCommand.ExecuteNonQuery();
//myTrans.Commit();
Console.WriteLine(registros);
Console.WriteLine(objc.getCodAlbum() + "*" + objc.getCodCancion() + "*" + objc.getNombre() + "*" + objc.getFormato() + "*");
cerrar();
mensaje="Se ha insertado la cancion " + objc.getNombre() + " en la tabla correctamente.";
}
catch(OleDbException exBB)
{
Console.WriteLine(exBB.Message + "--" + exBB.ErrorCode);
mensaje="Excepcion con la base de datos: " + exBB.Message;
}
catch(Exception e)
{
Console.WriteLine(e.Message + "--");
mensaje="Excepcion: " + e.Message;
}
finally
{
if(this.conex.State.Equals("Open"))
cerrar();
}
return mensaje;
}
Y este si va:
public string altaAlbum(Album objAlbum)
{
string mensaje="";
try
{
Console.WriteLine("altaAlbum");
conectar();
this.adapter = new OleDbDataAdapter();
this.cominsert = new OleDbCommand(sqls.devuelveSQL("PINSALBUM"),this.conex);
this.cominsert.Parameters.Add(new OleDbParameter("@nombre",OleDbType.VarWChar,50,"nombre"));
this.cominsert.Parameters["@nombre"].Value = objAlbum.getNombre().ToUpper();
this.cominsert.Parameters.Add(new OleDbParameter("@autor",OleDbType.SmallInt));
this.cominsert.Parameters["@autor"].Value = objAlbum.getAutor();
this.adapter.InsertCommand = this.cominsert;
int registros = this.adapter.InsertCommand.ExecuteNonQuery();
Console.WriteLine(registros);
cerrar();
mensaje="Se ha insertado el registro en la tabla correctamente.";
}
catch(OleDbException exBB)
{
Console.WriteLine(exBB.Message + "--" + exBB.ErrorCode);
mensaje="Excepcion con la base de datos: " + exBB.Message;
}
catch(Exception e)
{
Console.WriteLine(e.Message + "--");
mensaje="Excepcion: " + e.Message;
}
finally
{
if(this.conex.State.Equals("Open"))
cerrar();
}
return mensaje;
}
No creo que sea un error de las querys por q los campos los he verificado. Echarme un cable porfa
A ver si me podeis ayudar.
Este es el método que no inserta.
public string altaCancion(Cancion objc)
{
//OleDbTransaction myTrans;
string mensaje="";
try
{
Console.WriteLine("altaCancion");
conectar();
//myTrans = this.conex.BeginTransaction(IsolationLevel.Serializable);
this.adapter = new OleDbDataAdapter();
this.cominsert = new OleDbCommand(sqls.devuelveSQL("PINSCANCIONES"),this.conex);
//this.cominsert.Transaction=myTrans;
this.cominsert.Parameters.Add(new OleDbParameter("@album",OleDbType.SmallInt));
this.cominsert.Parameters["@album"].Value = objc.getCodAlbum();
this.cominsert.Parameters.Add(new OleDbParameter("@codcancion",OleDbType.SmallInt));
this.cominsert.Parameters["@codcancion"].Value = objc.getCodCancion();
this.cominsert.Parameters.Add(new OleDbParameter("@nombre",OleDbType.VarWChar,50,"nombre"));
this.cominsert.Parameters["@nombre"].Value = objc.getNombre();
this.cominsert.Parameters.Add(new OleDbParameter("@formato",OleDbType.VarWChar,4,"formato"));
this.cominsert.Parameters["@formato"].Value = objc.getFormato();
this.adapter.InsertCommand = this.cominsert;
//this.adapter.InsertCommand.Transaction = myTrans;
int registros = this.adapter.InsertCommand.ExecuteNonQuery();
//myTrans.Commit();
Console.WriteLine(registros);
Console.WriteLine(objc.getCodAlbum() + "*" + objc.getCodCancion() + "*" + objc.getNombre() + "*" + objc.getFormato() + "*");
cerrar();
mensaje="Se ha insertado la cancion " + objc.getNombre() + " en la tabla correctamente.";
}
catch(OleDbException exBB)
{
Console.WriteLine(exBB.Message + "--" + exBB.ErrorCode);
mensaje="Excepcion con la base de datos: " + exBB.Message;
}
catch(Exception e)
{
Console.WriteLine(e.Message + "--");
mensaje="Excepcion: " + e.Message;
}
finally
{
if(this.conex.State.Equals("Open"))
cerrar();
}
return mensaje;
}
Y este si va:
public string altaAlbum(Album objAlbum)
{
string mensaje="";
try
{
Console.WriteLine("altaAlbum");
conectar();
this.adapter = new OleDbDataAdapter();
this.cominsert = new OleDbCommand(sqls.devuelveSQL("PINSALBUM"),this.conex);
this.cominsert.Parameters.Add(new OleDbParameter("@nombre",OleDbType.VarWChar,50,"nombre"));
this.cominsert.Parameters["@nombre"].Value = objAlbum.getNombre().ToUpper();
this.cominsert.Parameters.Add(new OleDbParameter("@autor",OleDbType.SmallInt));
this.cominsert.Parameters["@autor"].Value = objAlbum.getAutor();
this.adapter.InsertCommand = this.cominsert;
int registros = this.adapter.InsertCommand.ExecuteNonQuery();
Console.WriteLine(registros);
cerrar();
mensaje="Se ha insertado el registro en la tabla correctamente.";
}
catch(OleDbException exBB)
{
Console.WriteLine(exBB.Message + "--" + exBB.ErrorCode);
mensaje="Excepcion con la base de datos: " + exBB.Message;
}
catch(Exception e)
{
Console.WriteLine(e.Message + "--");
mensaje="Excepcion: " + e.Message;
}
finally
{
if(this.conex.State.Equals("Open"))
cerrar();
}
return mensaje;
}
No creo que sea un error de las querys por q los campos los he verificado. Echarme un cable porfa
Valora esta pregunta


0