我正在开发一个将数据库中的数据导入属性网格的应用程序,通常它应该能够编辑该数据库。
这是我班的一个小原型:
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;
}
下图中是我的应用程序的两个不同步骤的打印屏幕:
- 属性网格从数据库中获取正确的值
- 当我更改该属性并按 ENTER 时,我收到该错误...
我不知道问题出在哪里。因为数据库数据类型没问题(它们是double
)
告诉我任何我能提供给你的帮助我,因为我会的。提前致谢!
编辑
在这里,我可以提供有关我的项目的更多信息。这是.accdb
我的项目使用的文件。