我写的第一次app结合sqlce数据库(VS2008 c#):
SqlCeCommand identChange = con.CreateCommand();
identChange.CommandText = "SET IDENTITY_INSERT contacts ON";
SqlCeCommand cmd = con.CreateCommand();
cmd.CommandText = "INSERT INTO contacts (contactID, firstName, cellularNumber) VALUES (1000, @name1 , @number)";
try
{
con.Open();
cmd.Parameters.AddWithValue("@name1", name1);
cmd.Parameters.AddWithValue("@number", number);
identChange.ExecuteNonQuery();
cmd.ExecuteNonQuery();
con.Close();
}
catch (SqlCeException ex)
{
//log ex
}
using (SqlCeCommand com = new SqlCeCommand("SELECT firstName FROM contacts", con))
{
con.Open();
SqlCeDataReader reader = com.ExecuteReader();
while (reader.Read())
{
string name = reader.GetString(0);
Console.WriteLine("there is " + name);
}
con.Close();
}
我的问题是,当我读取表值时,似乎新行插入正确, 但在完成后,当我查看“服务器资源管理器”窗口中的表数据时,新行不存在
我想知道我失踪了什么...
答案 0 :(得分:0)
你是如何打开数据库文件的?
每次程序启动时是否有可能创建数据库?
<强> EDITED 强>
您首先在数据库中插入了一些数据。执行程序,插入新数据。但是新数据没有显示在服务器资源管理器中,对吧?
然后,您的新数据何时消失?程序退出后?
再次执行程序时读取了哪些数据?