sqlce insert工作,但更改不会出现在服务器快递中

时间:2011-01-04 19:53:13

标签: sql-server-ce

我写的第一次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();
                }

我的问题是,当我读取表值时,似乎新行插入正确, 但在完成后,当我查看“服务器资源管理器”窗口中的表数据时,新行不存在

我想知道我失踪了什么...

1 个答案:

答案 0 :(得分:0)

你是如何打开数据库文件的?

每次程序启动时是否有可能创建数据库?

<强> EDITED

您首先在数据库中插入了一些数据。执行程序,插入新数据。但是新数据没有显示在服务器资源管理器中,对吧?

然后,您的新数据何时消失?程序退出后?

再次执行程序时读取了哪些数据?