指定的表不存在。 [table_Name]错误

时间:2014-01-02 12:08:49

标签: c# sql c#-4.0 sql-server-ce sql-server-ce-3.5

大家好我有一个小应用程序来增加当天的费用。

为此我使用SQL压缩数据库(CE)。将记录插入表名Expenses时我收到错误

  

指定的表不存在。 [费用]

插入代码

using (var con =new SqlCeConnection(@"Data Source=|DataDirectory|\Database\Acadamy.sdf;
       Persist Security Info=False"))
 {
   con.Open();
   try
    {
     var Cmd = new SqlCeCommand();
     String sqlAddNew = @"INSERT INTO Expenses (name, amount,receipt,details) 
                Values(@name,@amount,@receipt,@details)";
     Cmd = new SqlCeCommand(sqlAddNew, con);
     Cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = txtName.Text;
     Cmd.Parameters.Add("@amount", SqlDbType.NVarChar).Value = txtAmount.Text;
     Cmd.Parameters.AddWithValue("@receipt", SqlDbType.NVarChar).Value = txtRecept.Text;
     Cmd.Parameters.AddWithValue("@details", SqlDbType.NVarChar).Value = txtDetails.Text;
     Cmd.ExecuteNonQuery();
    }
    catch (Exception exception)
     {
       txtAmount.Text = exception.ToString();
     }
    finally
     {
       if (con.State == ConnectionState.Open) con.Close();
     }
   }
}

我不明白为什么会发生这种错误。 Acadamy.sdf结构如下:

enter image description here

我能够从同一数据库的另一个表中检索数据。会出现什么问题?

1 个答案:

答案 0 :(得分:1)

每当我收到有关不存在的表的错误时,我都会使用SQL Server Management Studio并检查表是否确实丢失,或者我的查询中是否只有拼写错误。

不幸的是,当前版本的Management Studio不再支持SQL Server Compact Database,您必须使用2008版本。您可以直接从Microsoft获取它:SQL Server 2008 R2 Management Studio Express