当我尝试从本地数据库中选择值时,它会毫无问题地执行。但是当我尝试插入并删除它时,它正在执行查询,但它不会影响任何行。
这是我用来删除本地数据库中的行的代码:
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();
答案 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与您的数据库相关并且您已事先使用连接字符串成功连接,则上述操作可能会对您的数据库执行删除操作。