データベースからプロパティ グリッドにデータを取り込むアプリケーションに取り組んでいますが、通常はそのデータベースを編集できるはずです。
これは私のクラスの小さなプロトタイプです:
public partial class MonthlyData
{
public MonthlyData(string month, string year)
{
this.key = string.Format("{0} {1}", month, year);
_IncomeMarketing = GetEntry(EntryType.Income, "Comercializarea produselor");
}
private string key = "";
#region Income Properties
[CategoryAttribute("Venituri"),
DisplayName("Comercializare de produse"),
Description("Venituri din comercializrea de produse")]
public double Income_Marketing
{
get { return _IncomeMarketing; }
set { _IncomeMarketing = SetEntry(EntryType.Income, "Comercializarea produselor", value); }
}
#endregion
private double _IncomeMarketing;
}
以下は my の定義ですSetEntry()
。
private double SetEntry(EntryType type, string entryName, double entryNewValue)
{
string tableName = (type == EntryType.Income) ? "Venituri" : "Cheltuieli";
OleDbConnection connection = new OleDbConnection(Properties.Settings.Default.AccountingServicesConnectionString);
connection.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connection;
cmd.CommandText = string.Format("UPDATE {0} SET {1} = {2} WHERE Luna = \"{3}\"", tableName, entryName, entryNewValue, this.key);
cmd.ExecuteNonQuery(); // I think here is my problem!
return entryNewValue;
}
下の画像は、2 つの異なる手順でのアプリケーションの印刷画面です。
- プロパティ グリッドはデータベースから正しい値を取得します
- そのプロパティを変更して ENTER を押すと、そのエラーが発生します...
どこに問題があるのかわからない。データベースのデータ型は問題ないため (それらはdouble
)
私を助けるためにあなたに提供できることは何でも教えてください。前もって感謝します!
編集
ここで、プロジェクトに関する詳細情報を提供できます。これが私のプロジェクトが使用する.accdb
ファイルです。