日期:2014-05-19  浏览次数:20476 次

带参数的update语句更新不了记录!!!
代码如下:  
strSQL   =   "update   yhb   set   mm=@mm   where   id=@id "  
objCommand   =   New   OleDbCommand(strSQL,   objConnection)  
objCommand.Parameters.Add(New   OleDbParameter( "@id ",   OleDbType.VarChar,   50)).Value   =   strID  
objCommand.Parameters.Add(New   OleDbParameter( "@mm ",   OleDbType.VarChar,   50)).Value   =   strMM  
.ExecuteNonQuery()  


换成如下就可以了:  
strSQL   =   "update   yhb   set   mm= ' "&   strMM   & "   where   id= ' "&   strID   & " ' "  
objCommand   =   New   OleDbCommand(strSQL,   objConnection)  
objCommand.ExecuteNonQuery()

------解决方案--------------------
public void Update(InfoEntity model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append( "update T_Info set ");
strSql.Append( "Title=@Title, ");
strSql.Append( "Content=@Content, ");
strSql.Append( "KeyWord=@KeyWord, ");
strSql.Append( "DepartID=@DepartID, ");
strSql.Append( "Remark=@Remark, ");
strSql.Append( "DrafterName=@DrafterName, ");
strSql.Append( "DrafterTime=@DrafterTime, ");
strSql.Append( "Tel=@Tel, ");
strSql.Append( "State=@State ");
strSql.Append( "InfoClassID=@InfoClassID ");
strSql.Append( "InfoTypeID=@InfoTypeID ");
strSql.Append( " where InfoID=@InfoID ");
SqlParameter[] parameters = {
new SqlParameter( "@InfoID ", SqlDbType.Int,4),
new SqlParameter( "@Title ", SqlDbType.VarChar,300),
new SqlParameter( "@Content ", SqlDbType.VarChar,1000),
new SqlParameter( "@KeyWord ", SqlDbType.VarChar,200),
new SqlParameter( "@DepartID ", SqlDbType.VarChar,20),
new SqlParameter( "@Remark ", SqlDbType.VarChar,500),
new SqlParameter( "@DrafterName ", SqlDbType.VarChar,20),
new SqlParameter( "@DrafterTime ", SqlDbType.DateTime),
new SqlParameter( "@Tel ", SqlDbType.VarChar,20),
new SqlParameter( "@State ", SqlDbType.Int,4),
new SqlParameter( "@InfoClassID ", SqlDbType.Int,4),
new SqlParameter( "@InfoTypeID ", SqlDbType.Int,4)
};
parameters[0].Value = model.InfoID;
parameters[1].Value = model.Title;
parameters[2].Value = model.Content;
parameters[3].Value = model.KeyWord;
parameters[4].Value = model.DepartID;
parameters[5].Value = model.Remark;
parameters[6].Value = model.DrafterName;
parameters[7].Value = model.Tel;
parameters[8].Value = model.State;
parameters[9].Value = model.InfoClassID;
parameters[10].Value = model.InfoTypeID;

DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
}