• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

amiloM1425

Dados não ficam guardados

3 mensagens neste tópico

Olá a todos,

antes de mais peço desculpa estar a ser tão chato.

Na minha app estou a a fazer a seguinte inserção na bd:

                command = new OleDbCommand("INSERT INTO produto (pk_serialNumber, dataVenda, nota, fk_clienteId) VALUES (?,?,?,?)", conn);

                command.Parameters.AddWithValue("@serialNumber", serialNumber);
                command.Parameters.AddWithValue("@dataVenda", dataVenda.Date);
                command.Parameters.AddWithValue("@nota", nota);
                command.Parameters.AddWithValue("@idCliente", idCliente);

                command.ExecuteNonQuery();

                command.CommandText = "INSERT INTO reader (pk_serialNumber, chave) VALUES (?,?)";

                command.Parameters.Clear();

                command.Parameters.AddWithValue("@serialNumber", serialNumber);
                command.Parameters.AddWithValue("@chaveActivacao", chaveActivacao);

                command.ExecuteNonQuery();

Aparentemente está tudo a funcionar, após inserir os dados estes não aparecem na datagridview, e enquanto a app está a correr os dados mantém-se. No entanto quando termino a app e volto a arrancar os dados estes não aparecem e na bd também não estão.

Já agora, como se fazem transacções?

Eu com uma bd MySql costumo fazer da seguinte forma:

Transaction trans = command.Transaction;
trans.Begin();
...
try{
   ...
   trans.Commit();
}
catch{
   trans.Rollback();
}

No entanto não está a funcionar. Com MS Access as transacções são feitas de forma diferente?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

deve estar a funcionar, o problema pode ser o seguinte:

ele cria uma cópia da base de dados na pasta debug enquanto estás a testar a aplicação, assim que terminares e voltares a correr a aplicação ele cria uma nova cópia da base de dados

solução: meter, pra já, um caminho completo na query string, de modo a que ele vá dar sempre à mesma base de dados e não a cópias, depois diz se resultou

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora