我将数据插入访问数据库,如果数据已经存在,即找到重复的enty,则只需要更新该数据。
public bool InsertInToTooltip()
{
InitializeSettingsDatabase();
OleDbCommand command;
command = new OleDbCommand(//Query, settingsDbConn);
try
{
command.ExecuteNonQuery();
}
catch (Exception e)
{
UpdateTable();
}
CloseDatabase();
return true;
}
如果在acces数据库中插入重复的条目,是否会抛出任何特定的异常?
答案 0 :(得分:0)
您应该检查记录是否存在并且发出插入或更新而不是使用例外。您可以将该逻辑包装在存储过程中,或者选择其他查询。
一体化
IF EXIST (select true from table where id = @id)
Update table set x = y
Else
Insert into table (x, y) values ('x', 'y')
答案 1 :(得分:0)
如果您正在使用DataGridViews,ComboBox等控件,请尝试使用DataAdapter ......只要您将其链接到数据库源和控件,这将自动为您执行所有处理。否则我宁愿做一个额外的sql语句来检查数据是否在数据库中可用,例如
SELECT * FROM TABLE WHERE COLUMN = _VAR
根据它返回的内容,您可以选择INSERT或Update。我希望这会有所帮助。