我正在使用Dapper更新並插入Access數據庫。代碼工作時不會拋出異常,但它不會更新數據庫中的值。以下是我的代碼微軟與MS Access更新並插入問題
sql.Append("UPDATE drugs_repository SET drug_name = @DrugName ");
sql.Append(" WHERE id = @DrugId");
var parameters = new
{
DrugName = objDrug.DrugName,
DrugId = objDrug.DrugId
};
var t = connection.Query<string>(sql.ToString(), parameters);
有人能讓我知道我在上面的代碼中缺少什麼嗎? 當我硬編碼比在數據庫中更新的值。所以可能它與參數有關。
得到了問題。在Dapper的SqlMapper.cs文件中,我從「// IEnumerable props = type.GetProperties()」中刪除了orderby,其中(p => p.GetIndexParameters()。Length == 0).OrderBy(p => p。名稱);」。現在工作很好。不確定刪除orderby是否會有任何影響。建議將不勝感激。 –
techknackblogs
+1做得好!因爲'@DrugName'>'@ DrugId'''.OrderBy'交換了參數的順序,並且Access.OLEDB要求按照它們出現在SQL CommandText中的順序創建參數。 –