企业库2.0的一点疑问
如下:
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmd = db.GetSqlStringCommand(@"update TBL_FBPT_RESOURCEINFO set
ZYMC=@ZYMC,ZYLJ=@ZYLJ,ZYURI=@ZYURI,MSLJ=@MSLJ,MSURI=@MSURI,ZYZT=@ZYZT,FBBH=@FBBH,ZYLX=@ZYLX where ZYBH=@ZYBH");
db.AddInParameter(cmd, "ZYMC", DbType.String, ZYMC);
db.AddInParameter(cmd, "ZYLJ", DbType.String, ZYLJ);
db.AddInParameter(cmd, "ZYURI", DbType.String, ZYURI);
db.AddInParameter(cmd, "MSLJ", DbType.String, MSLJ);
db.AddInParameter(cmd, "MSURI", DbType.String, MSURI);
db.AddInParameter(cmd, "ZYZT", DbType.String, ZYZT);
db.AddInParameter(cmd, "FBBH", DbType.String, FBBH);
db.AddInParameter(cmd, "ZYLX", DbType.String, ZYLX);
db.AddInParameter(cmd, "ZYBH", DbType.String, ZYBH);
if (db.ExecuteNonQuery(cmd) == 1)
{
return true;
}
else
{
return false;
}
这样可以执行,若把db.AddInParameter(cmd, "ZYBH", DbType.String, ZYBH);放在加参数的第一个位置:
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmd = db.GetSqlStringCommand(@"update TBL_FBPT_RESOURCEINFO set
ZYMC=@ZYMC,ZYLJ=@ZYLJ,ZYURI=@ZYURI,MSLJ=@MSLJ,MSURI=@MSURI,ZYZT=@ZYZT,FBBH=@FBBH,ZYLX=@ZYLX where ZYBH=@ZYBH");
db.AddInParameter(cmd, "ZYBH", DbType.String, ZYBH);
db.AddInParameter(cmd, "ZYMC", DbType.String, ZYMC);
db.AddInParameter(cmd, "ZYLJ", DbType.String, ZYLJ);
db.AddInParameter(cmd, "ZYURI", DbType.String, ZYURI);
db.AddInParameter(cmd, "MSLJ", DbType.String, MSLJ);
db.AddInParameter(cmd, "MSURI", DbType.String, MSURI);
db.AddInParameter(cmd, "ZYZT", DbType.String, ZYZT);
db.AddInParameter(cmd, "FBBH", DbType.String, FBBH);
db.AddInParameter(cmd, "ZYLX", DbType.String, ZYLX);
if (db.ExecuteNonQuery(cmd) == 1)
{
return true;
}
else
{
return false;
}
就不能成功执行(db.ExecuteNonQuery(cmd)=0),数据库中相应数据也没有改变。
数据库为ACCESS,SQL Server中是可以的,我很比解?