update 执行了也没有报错,但修改内容没有成功
strSql.Append("update HouseInfo set ");
strSql.Append("hName=@hName");
strSql.Append(" where houseId=@houseId ");
OleDbParameter[] parameters = {
new OleDbParameter("@houseId", OleDbType.Integer,4),
new OleDbParameter("@hName", OleDbType.VarChar,50)};
parameters[0].Value = model.houseId;
parameters[1].Value = model.hName;
try
{
int rows = OleDbHelper.ExecuteNonQuery(strSql.ToString(), parameters);
result = true;
}
catch (Exception ex)
{
throw ex;
}
执行完后,没有报错,但rows是0,不知道是什么原因。
------解决方案--------------------有没有符合条件的记录
用同样的条件查询下看看有记录没有
或者
看看表上有没有触发器
------解决方案--------------------先用select语句查询一下有没有符合条件的资料,
------解决方案--------------------ACCESS帮顶。
------解决方案--------------------int rows = OleDbHelper.ExecuteNonQuery(strSql.ToString(), parameters);你把strSql.ToString()的语句在Access数据库中执行一下
------解决方案--------------------按楼上说的嘛 你可以捕获变量值 就是你的strsql 然后将这个变量值也就是你的更新语句放到access里执行下
要是那边能成功再找代码问题
------解决方案--------------------设置断点看看执行完strSql.Append(" where houseId=@houseId ");
后strSql的值是什么。
得到的SQL语句在查询分析器中执行一下看看结果,从而定位到底是SQL语句的问题还是程序的问题。