SqlParameter构造函数的临界边缘
windows2003无法安装Windows Live Installer,将就着用CE写了。在对代码的精简下(绿色-->红色代码),由于没有对SqlDbType进行相应的指定类型,出现了object与SqlDbType的异常(系统无法捕获),主要是针对0,找了好久才发现!偷懒反被0耍了,哈哈。当然下面的精简只适合在修改少数字段的情况下方便,对于数目较多的情况下还是采用对象模型方便。
Jasen.Business.Operate operate = new Jasen.Business.Operate();
Jasen.Business.BaseModel baseModel = new Jasen.Business.BaseModel();
Jasen.Business.SysOwnuser ownuser = new Jasen.Business.SysOwnuser();*/
for (int i = 0; i < dgdList.Items.Count; i++)
{
DataGridItem item = dgdList.Items[i];
if (((CheckBox)item.FindControl("chkSelect")).Checked == true)
{
int ID = int.Parse(((CheckBox)item.FindControl("chkSelect")).Text.ToString());
/* baseModel = operate.GetModelby(m_ownuser, "sys_ownuser", "where ownuser_id=" + ID);
ownuser .Equals(baseModel );
ownuser .state = 0;
ownuser.ownuser_id = int.Parse(((CheckBox)item.FindControl("chkSelect")).Text.ToString());
operate.Update(m_ownuser, "sys_ownuser", "ownuser_id");*/
DBTool.ExecuteNonQuery("update sys_ownuser set state =@state where ownuser_id=@ownuser_id", new SqlParameter("@state", 0), new SqlParameter("@ownuser_id", ID));
//Operate Log
Jasen.Business.OperateLog log = new OperateLog();
log.InsertOperationLog("XX", "XX【" + item.Cells[1].Text + "】", OwnUser.Name.ToString(), Request.UserHostAddress.ToString());
}
}
new SqlParameter("@state", 0),对于构造函数public SqlParameter(
foreach (SqlParameter p in commandParameters)
{
if( p != null )
{
// Check for derived output value with no value assigned
if ( ( p.Direction == ParameterDirection.InputOutput || p.Direction == ParameterDirection.Input ) && (p.Value == null))
{
p.Value = DBNull.Value;
}
command.Parameters.Add(p);
}
}
传入@state时系统无法判断0(开始没有设置类型)的类型,默认为null,p.Value 设置成了DBNull.Value;
因此以后有必要针对于0的时候还是不要偷懒,起码设置下0的类型。不要以为sqlparameter构造函数中,0就是个object,传入进去就可以了,嘿嘿。
吃一堑长一智!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架