C# 指定的表不存在。[表名称]错误
大家好,我有一个小应用程序来增加一天的费用 为此,我使用SQLCompactDatabase(CE)。在将记录插入表名时,我遇到了一个错误 指定的表不存在。[费用] 插入代码为C# 指定的表不存在。[表名称]错误,c#,sql,c#-4.0,sql-server-ce,sql-server-ce-3.5,C#,Sql,C# 4.0,Sql Server Ce,Sql Server Ce 3.5,大家好,我有一个小应用程序来增加一天的费用 为此,我使用SQLCompactDatabase(CE)。在将记录插入表名时,我遇到了一个错误 指定的表不存在。[费用] 插入代码为 using (var con =new SqlCeConnection(@"Data Source=|DataDirectory|\Database\Acadamy.sdf; Persist Security Info=False")) { con.Open(); try {
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结构如下:
我能够从同一数据库的另一个表中检索数据。问题出在哪里?每当我得到一个关于不存在的表的错误时,我都会使用SQL Server Management Studio检查该表是否确实丢失,或者我的查询中是否有输入错误
不幸的是,当前版本的ManagementStudio不再支持SQLServerCompact数据库,您将不得不使用2008版本。您可以直接从Microsoft获得它:很可能该表不存在,而您正在使用的另一个表存在。请仔细检查表名。您确定您的
Acadamy.sdf
中有费用表吗,请参阅更新的问题。在bin/debug文件夹中查找数据库文件的副本,但不包含该表。我不知道您的目录结构,但您确定已连接到真正的数据库吗?您可以直接在Management Studio中编写SQL命令。它是否给出了相同的错误?我无法在ManagementStudio中检查它,但我已在LINQPad中检查,并且它正在工作。ManagementStudio中出现了什么问题?