Insertar en base de datos

08/10/2006 - 22:23 por kdokdo | Informe spam
Hola, a ver si alguien tiene alguna idea de pq no me funciona el
siguiente código.

Resulta que quiero insertar datos en una base de datos.
Antes lo hacía sin todo esto de las transacciones, pero luego pensé
que igual si no le hacía un commit no se guardaba en la base de datos.
Pues bueno, así tampoco. No hay manera de insertar filas en las tablas
de la base de datos.

Alguna idea? Cualquier cosa aunque no tenga nada que ver con mi código
me puede ayudar.
Estoy desesperada!!!

Os dejo el código:

foreach (DataGridViewRow dgvr in ordenesDataGridView.Rows)
{
SqlCommand command = ordenesTableAdapter.Connection.CreateCommand();
SqlTransaction transaction;

ordenesTableAdapter.Connection.Open();
transaction = ordenesTableAdapter.Connection.BeginTransaction();

command.Connection = ordenesTableAdapter.Connection;
command.Transaction = transaction;

try
{
this.ordenesTableAdapter.Insert(1, "Calibrar");
transaction.Commit();

MessageBox.Show("Insert OK");
}
catch (Exception ex)
{
MessageBox.Show("Fallo en la transacción.");

try
{
transaction.Rollback();
}
catch (Exception ex2)
{
MessageBox.Show("Fallo en rollback");
}
}

ordenesTableAdapter.Connection.Close();
}

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
09/10/2006 - 08:47 | Informe spam
wrote in message
news:
Mostrar la cita
¿No estarás Sql Express con una Instancia de Usuario? A ver si lo que te
pasa es que tienes el .mdf en el directorio del fuente; cuando lo ejecutas
el Visual Studio saca una copia al directorio ejecutable, y la inserción se
produce ahi. Pero luego miras en la copia original y, claro, ahi no se ha
insertado ningún registro.

Aparte de eso, en tu código tienes esto:

Mostrar la cita
No comprendo para qué creas este command si luego no lo usas para nada,
ya que la inserción la realizas llamando al .Insert del TableAdapter. Esto
no tendría por qué impedir que la inserción se realice, pero te lo menciono
porque me ha parecido extraño.
#2 kdokdo
09/10/2006 - 16:54 | Informe spam
Eres mi salvador. En efecto me pasa lo que tu dices.
Porque si intento insertar dos tuplas con la misma clave primaria se
queja pero luego resulta que no se ha guardado nada.
Como debería hacer para que se me cambiase en el la copia original?

Muchichichichisimas gracias!
(lo del error de código ya me lo miraré, la verdad es que he hecho
tantos cambios que está aguantado por pinzas)


Alberto Poblacion [MVP] ha escrito:

Mostrar la cita
Ads by Google
Search Busqueda sugerida