我无法了解我的应用程序发生了什么。我正在使用SQL CE(.sdf文件)到本地数据库(winform应用程序),当我调试时,一切运行良好,我最后得到的信息是我的数据插入良好。但是后来,当我检查我的数据库时,它是空的。
我该怎么办?
这是我的代码:
SqlCeConnection conn = new SqlCeConnection(@"Data Source=|DataDirectory|\Database\Livraria.sdf;");
SqlCeCommand cmd = new SqlCeCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"INSERT INTO Livros (Codigo, ISBN, Titulo, Editora, Localizacao, Valor, QTD, Autor, AutorEspiritual, Data_)
VALUES (@Codigo, @ISBN, @Titulo, @Editora, @Localizacao, @Valor, @QTD, @Autor, @AutorEspiritual, @Data_)";
cmd.Parameters.AddWithValue("@Codigo", codigo);
cmd.Parameters.AddWithValue("@ISBN", isbn);
cmd.Parameters.AddWithValue("@Titulo", titulo);
cmd.Parameters.AddWithValue("@Editora", editora);
cmd.Parameters.AddWithValue("@Localizacao", localizacao);
cmd.Parameters.AddWithValue("@Valor", valor);
cmd.Parameters.AddWithValue("@QTD", entradas);
cmd.Parameters.AddWithValue("@Autor", autor);
cmd.Parameters.AddWithValue("@AutorEspiritual", autorEspiritual);
cmd.Parameters.AddWithValue("@Data_", data_);
try
{
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
{
MessageBox.Show("Livro adicionado com sucesso!");
}
else
{
MessageBox.Show("O livro não foi adicionado.");
}
// Reset campos
Codigo.Text = "";
Titulo.Text = "";
Editora.SelectedIndex = 0;
Valor.SelectedIndex = 0;
Localizacao.SelectedIndex = 0;
Entrada.Text = "";
Isbn.Text = "";
Autor.SelectedIndex = 0;
AutorEspiritual.SelectedIndex = 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
conn.Close();
}
答案 0 :(得分:3)
您有两个数据库。您正在插入一个并在另一个中查找结果。
或者,您正在开始一个事务,插入但不提交。
答案 1 :(得分:0)
您需要做的第一件事是先创建一个简单的select语句,从您的sqlce数据库中获取记录。
if( has record//connected )
{
//Proceed to your insert statement remove if else and use
conn.Open();
cmd.ExecuteNonQuery()
//then check your DB again
}
else
{
//Problem on you connection string
}
您的sqlce数据库位于您的bin文件夹
此致