插入和删除不在本地数据库中发生(.sdf)

时间:2011-07-20 10:54:57

标签: c# visual-studio-2008 sql-insert sql-delete local-database

当我尝试从本地数据库中选择值时,它会毫无问题地执行。但是当我尝试插入并删除它时,它正在执行查询,但它不会影响任何行。

这是我用来删除本地数据库中的行的代码:

        SqlCeConnection sqlConnection1 = new SqlCeConnection();
        sqlConnection1.ConnectionString = "Data Source = Database1.sdf";

        SqlCeCommand cmd = sqlConnection1.CreateCommand();
        cmd.CommandType = System.Data.CommandType.Text;
        cmd.CommandText = "DELETE FROM table1 WHERE slno=2";
        cmd.Connection = sqlConnection1;

        sqlConnection1.Open();
        cmd.Prepare();
        int aff=cmd.ExecuteNonQuery();//here its returning '0'
        MessageBox.Show(aff.ToString());
        sqlConnection1.Dispose();
        sqlConnection1.Close();

1 个答案:

答案 0 :(得分:1)

删除可能不会影响任何行。

顺便说一句,我建议在代码中使用using语句:

using (SqlCeConnection conn = new SqlCeConnection("Data Source = Database1.sdf"))
using (SqlCeCommand comm = new SqlCeCommand("DELETE FROM table1 WHERE slno = 2", conn))
{
    conn.Open();
    comm.CommandType = CommandType.Text;
    comm.ExecuteNonQuery();
}

这将处理相关对象的处理。

假设SQL与您的数据库相关并且您已事先使用连接字符串成功连接,则上述操作可能会对您的数据库执行删除操作。

相关问题