ObjectDataSource的UpdateMethod 主键为标识列时怎么办? UpdateMethod最终调用DAL的更新方法,却一直提示出错:无法更新标识列 'id',我又不想把id列改为可编辑的,这个问题该怎么解决呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 本帖最后由 net_lover 于 2012-04-29 09:15:15 编辑 废掉这种所谓DAL,UpdateMethod直接写个正规的sql语句吧。你编写的这个DAL,连update操作都搞不定,怎么被BLL调用呢?这个问题是底层的,不要让高层次的程序去负责任修改什么东西。 问题并非出在我写的DAL里边,ObjectDataSource的UpdateMethod指定的更新方法的参数必须和gridview中绑定列是一致的,在网上找到的参考资料举的例子id列都不为标识列,我想知道id列为标识列时该怎么半。 我的gridview是这样的ObjectDataSource指定的是BLL中的更新方法,然后再去调用DAL中的更新方法ContactUpdate而ContactUpdate方法参数列表中的id参数是不能去掉的(因为必须跟gridview中的绑定列一致)否则就会出现“ObjectDataSource2”未能找到带参数的非泛型方法的错误现在我就算把ContactUpdate方法中更新的sql语句中的id删掉依然会提示无法更新标识列 'id'这个错误 public static int ContactUpdate(int id, string name, string email, string phone, string comment, string bygroup) { string sql = "update contact set name='"+name+"',email='"+email+"',phone='"+phone +"',comment='"+comment+"',bygroup='"+bygroup+"'"; int flag = DbHelperSQL.ExecuteSql(sql); return flag; }如果把数据库中id列改为可修改的列是能够解决这个问题的,但我现在的id列是标识列,那么这个问题该怎么解决? 网页上如何弹出输入框接受输入的信息? 怎样在继承母板页的页面里面寻找控件 ID添加的问题 asp.net中使用iframe实现无刷新功能 在C#中制作的窗体怎么连接到数据库 求一个有windows风格的web后台管理系统! 怎么配置服务器?????急!急!!!!! 我有个图片的url地址,如何把它保存到本地服务器上,急 我的Asp.net程序出现错误时,怎么不显示错误信息.只是显示友好提示. 急救 如何获得一个treeview里某个节点的所有子节点的 text值 并存到数组里。。 关于try finally的问题
废掉这种所谓DAL,UpdateMethod直接写个正规的sql语句吧。你编写的这个DAL,连update操作都搞不定,怎么被BLL调用呢?这个问题是底层的,不要让高层次的程序去负责任修改什么东西。
而ContactUpdate方法参数列表中的id参数是不能去掉的(因为必须跟gridview中的绑定列一致)
否则就会出现“ObjectDataSource2”未能找到带参数的非泛型方法的错误现在我就算把ContactUpdate方法中更新的sql语句中的id删掉依然会提示无法更新标识列 'id'这个错误 public static int ContactUpdate(int id, string name, string email, string phone, string comment, string bygroup)
{
string sql = "update contact set name='"+name+"',email='"+email+"',phone='"+phone +"',comment='"+comment+"',bygroup='"+bygroup+"'";
int flag = DbHelperSQL.ExecuteSql(sql);
return flag;
}如果把数据库中id列改为可修改的列是能够解决这个问题的,但我现在的id列是标识列,那么这个问题该怎么解决?