私は、コンパクト SQL サーバー (.sdf) とやり取りする小さな費用/収入追跡 C# コンソール プログラムに取り組んでいます。データベースは経費を保存し、簡単なコマンド ライン入力により、ユーザーは DB 内のインデックス番号に基づいてエントリを削除できます。これが私が得ているエラーです。
「クエリの解析中にエラーが発生しました。[トークン行番号 = 1、トークン行オフセット = 32、エラーのトークン = インデックス]」
以下は、エントリを削除するコードです。
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) - Null を許可 (はい) - 一意 (いいえ) - プリム キー (いいえ)
説明- データ型 (ncarchar) - 長さ (50) - Null を許可 (はい) - 一意 (いいえ) - プリム キー (いいえ)
金額- データ型 (金額) - 長さ (19) - Null を許可 (いいえ) - 一意 (いいえ) - プリム キー (いいえ)
コード- データ型 (nvarchar) - 長さ (4) - Null を許可 (いいえ) - 一意 (いいえ) - プリム キー (いいえ)
インデックス- データ型 (bigint) - 長さ (8) - Null を許可 (いいえ) - 一意 (はい) - プリム キー (いいえ)