CLR: .Net / Mono / Boo / Otros CLR > C#

 Inserción En Base De Datos

(1/1)

enkara:
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.

Trabajo en Visual Studio y tengo un TableAdapter ligado a un Origen de datos.
Este es el código:

this.ordenesTableAdapter.Insert(1, "Calibrar");

En todas partes me dice que basta con hacer esto, pero cuando cierro la aplicación, la base de datos sigue vacía.

Alguna idea?

Muchas gracias!!!

JuanK:
Es probable que debas hacer commit a la base  de datos antes de cerrar la aplicacion.

enkara:
Pero el commit solo es para transacciones no?
Tendría que haber otra forma de ahcerlo.

Lo voy a probar =mente.

Muchas gracias!

JuanK:
:lol:
un insert es una transaccion, toda transaccion requiere commit.

Los adaptadores a evces hacenautocommit por transaccion y aveces requeren que se haga manual y a veces es configurable, revisa.

enkara:
Es que a mi me habían enseñado que una transacción eran dos o más operaciones que debían hacerse juntas de manera que si en algún momento fallaba la aplicación, nunca se quedara a medias.

En todo caso, para hacer un commit, requiere que declare una transaction y lo he hecho y no me ha funcionado tmp. Estoy desesperada  :'(

Aquí pego el código por si JuanK o alguien viera algún error (Me sale que hay un fallo en la transacción):


--- Código: Text --- 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();}  

Navegación

[0] Índice de Mensajes

Ir a la versión completa