大家好我有一个小应用程序来增加当天的费用。
为此我使用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结构如下:
我能够从同一数据库的另一个表中检索数据。会出现什么问题?
答案 0 :(得分:1)
每当我收到有关不存在的表的错误时,我都会使用SQL Server Management Studio并检查表是否确实丢失,或者我的查询中是否只有拼写错误。
不幸的是,当前版本的Management Studio不再支持SQL Server Compact Database,您必须使用2008版本。您可以直接从Microsoft获取它:SQL Server 2008 R2 Management Studio Express