ASP.Net 中无法用Update语句更新,并且不提示错误!(急)
#region修改收获///<summary>///修改收获的具体信息///</summary>///<paramname="Usergain">收获的具体信息</par...
#region 修改收获
/// <summary>
/// 修改收获的具体信息
/// </summary>
/// <param name="Usergain">收获的具体信息</param>
/// <returns>是否修改成功,成功返回TRUE,否则返回FALSE</returns>
public bool ForUpdateGain(UserGaininfo Usergain)
{
using (OleDbConnection conn = new OleDbConnection(AccessHelper.ConnString))
{
conn.Open();
string cmdtext = "update UserGain set GainContent=@GainContent,GainType=@GainType,GainTitle=@GainTitle where GainID=@GainID";
OleDbParameter[] odparams = new OleDbParameter[4];
odparams[0] = new OleDbParameter("@GainContent", Usergain.GainContent);
odparams[1] = new OleDbParameter("@GainType", Usergain.GainType);
odparams[2] = new OleDbParameter("@GainID", Usergain.GainID);
odparams[3] = new OleDbParameter("@GainTitle", Usergain.GainTitle);
CommandType cmdtype = CommandType.Text;
if (AccessHelper.ExecuteNonQuery(conn, cmdtype, cmdtext, odparams) > 0)
return true;
else
return false;
}
}
#endregion
开始的时候,数据库中没有GainTitle这个字段,我加入后,代码改成了这样,但是执行的时候每次都返回FALSE,我加断点看了,都没问题。我把这句话分成2次执行,就是先修改GianContent和GainType,然后再单独修改GainTitle,这样GianContent和GainType会修改成功,而GainTitle修改失败。
请教一下高手,这个该怎么解决??
对不起了,各位,我解决了,这个原因说起来有点让人无奈:解决的方法就是参数传递的顺序和AccessText中的对应就好了,也就是说非数组赋值的时候改一下顺序就好了
odparams[0] = new OleDbParameter("@GainContent", Usergain.GainContent);
odparams[1] = new OleDbParameter("@GainType", Usergain.GainType);
odparams[2] = new OleDbParameter("@ GainTitle", Usergain.GainID);
odparams[3] = new OleDbParameter("@GainID", Usergain.GainTitle);
这样再传就会成功了!呵呵
分就暂时不给了,我的分数也不多,对不起各位了,希望我的这个答案能给各位一点帮助吧! 展开
/// <summary>
/// 修改收获的具体信息
/// </summary>
/// <param name="Usergain">收获的具体信息</param>
/// <returns>是否修改成功,成功返回TRUE,否则返回FALSE</returns>
public bool ForUpdateGain(UserGaininfo Usergain)
{
using (OleDbConnection conn = new OleDbConnection(AccessHelper.ConnString))
{
conn.Open();
string cmdtext = "update UserGain set GainContent=@GainContent,GainType=@GainType,GainTitle=@GainTitle where GainID=@GainID";
OleDbParameter[] odparams = new OleDbParameter[4];
odparams[0] = new OleDbParameter("@GainContent", Usergain.GainContent);
odparams[1] = new OleDbParameter("@GainType", Usergain.GainType);
odparams[2] = new OleDbParameter("@GainID", Usergain.GainID);
odparams[3] = new OleDbParameter("@GainTitle", Usergain.GainTitle);
CommandType cmdtype = CommandType.Text;
if (AccessHelper.ExecuteNonQuery(conn, cmdtype, cmdtext, odparams) > 0)
return true;
else
return false;
}
}
#endregion
开始的时候,数据库中没有GainTitle这个字段,我加入后,代码改成了这样,但是执行的时候每次都返回FALSE,我加断点看了,都没问题。我把这句话分成2次执行,就是先修改GianContent和GainType,然后再单独修改GainTitle,这样GianContent和GainType会修改成功,而GainTitle修改失败。
请教一下高手,这个该怎么解决??
对不起了,各位,我解决了,这个原因说起来有点让人无奈:解决的方法就是参数传递的顺序和AccessText中的对应就好了,也就是说非数组赋值的时候改一下顺序就好了
odparams[0] = new OleDbParameter("@GainContent", Usergain.GainContent);
odparams[1] = new OleDbParameter("@GainType", Usergain.GainType);
odparams[2] = new OleDbParameter("@ GainTitle", Usergain.GainID);
odparams[3] = new OleDbParameter("@GainID", Usergain.GainTitle);
这样再传就会成功了!呵呵
分就暂时不给了,我的分数也不多,对不起各位了,希望我的这个答案能给各位一点帮助吧! 展开
3个回答
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询