【发布时间】:2013-11-12 15:29:43
【问题描述】:
我正在开发一个与 Compact SQL Server (.sdf) 接口的小型支出/收入跟踪 C# 控制台程序。数据库存储费用,简单的命令行输入允许用户根据数据库中的索引号删除条目。这是我遇到的错误。
"解析查询时出错。[Token line number = 1,Token line offset = 32,Token in error = Index]"
以下是删除条目的代码。
else if (ans.Equals("REMOVE"))
{
Console.WriteLine("Which entry?");
deleteTrans(Console.ReadLine(), conn);
displayDB(conn);
}
}
static void deleteTrans(string index, SqlCeConnection conn)
{
SqlCeCommand deleteCmd = new SqlCeCommand("DELETE FROM Transactions WHERE Index=" + index, conn);
try
{
deleteCmd.ExecuteNonQuery();
}
catch (SqlCeException ex)
{
Console.WriteLine("You failed!\n" + ex.Message);
}
}
数据库有 5 列(日期、描述、金额、代码、索引)
日期 - 数据类型(bigint) - 长度(8) - 允许空值(是) - 唯一(否) - 主键(否)
描述 - 数据类型(ncarchar) - 长度(50) - 允许空值(Yes) - Unique(No) - Prim Key(No)
金额 - 数据类型(金钱) - 长度(19) - 允许空值(否) - 唯一(否) - 主键(否)
代码 - 数据类型(nvarchar) - 长度(4) - 允许 Nulls(No) - Unique(No) - Prim Key(No)
索引 - 数据类型(bigint) - 长度(8) - 允许空值(否) - 唯一(是) - 主键(否)
【问题讨论】:
标签: sql parsing token offset sql-delete