C# 用Linq to SQL的方法修改数据报错?
我用linq的方法写了一个修改数据的代码,但是实际执行的时候却会报错,提示如图:表如下:代码如下:ZhangHuzh=newZhangHu(); &...
我用linq的方法写了一个修改数据的代码,但是实际执行的时候却会报错,提示如图:表如下:代码如下:ZhangHu zh = new ZhangHu(); zh.nicheng = text_geren_nicheng.Text; zh.pwd = text_geren_pwd.Text; zh.youxiang = text_geren_email.Text; zh.xingbie = rdbu_geren_nan.Checked ? "男" : "女"; lianjie.ZhangHu.InsertOnSubmit(zh); lianjie.SubmitChanges(); MessageBox.Show("修改成功"); Refresh();请问各位大大这是什么问题?要怎么修改?还有这种方法如果在textbox控件上不输入任何东西会把数据改成空吗?
展开
3个回答
展开全部
你怎么不把关键报什么错的提示加上呢,把这段代码加上试试
try
{
Dc.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
}
catch (System.Data.Linq.ChangeConflictException ex)
{
foreach (System.Data.Linq.ObjectChangeConflict occ in Dc.ChangeConflicts)
{
//以下是解决冲突的三种方法,选一种即可
// 使用当前数据库中的值,覆盖Linq缓存中实体对象的值
// occ.Resolve(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
// 使用Linq缓存中实体对象的值,覆盖当前数据库中的值
occ.Resolve(System.Data.Linq.RefreshMode.KeepCurrentValues);
// 只更新实体对象中改变的字段的值,其他的保留不变
// occ.Resolve(System.Data.Linq.RefreshMode.KeepChanges);
}
// 这个地方要注意,Catch方法中,我们前面只是指明了怎样来解决冲突,这个地方还需要再次提交更新,这样的话,值 //才会提交到数据库。
Dc.SubmitChanges();
}
try
{
Dc.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
}
catch (System.Data.Linq.ChangeConflictException ex)
{
foreach (System.Data.Linq.ObjectChangeConflict occ in Dc.ChangeConflicts)
{
//以下是解决冲突的三种方法,选一种即可
// 使用当前数据库中的值,覆盖Linq缓存中实体对象的值
// occ.Resolve(System.Data.Linq.RefreshMode.OverwriteCurrentValues);
// 使用Linq缓存中实体对象的值,覆盖当前数据库中的值
occ.Resolve(System.Data.Linq.RefreshMode.KeepCurrentValues);
// 只更新实体对象中改变的字段的值,其他的保留不变
// occ.Resolve(System.Data.Linq.RefreshMode.KeepChanges);
}
// 这个地方要注意,Catch方法中,我们前面只是指明了怎样来解决冲突,这个地方还需要再次提交更新,这样的话,值 //才会提交到数据库。
Dc.SubmitChanges();
}
参考资料: internet
展开全部
把错误信息弄出来看看,就你贴的这些代码看不错什么错误,需要错误信息
你这个是插入新纪录,所以不存在“还有这种方法如果在textbox控件上不输入任何东西会把数据改成空吗”这样的问题
你这个是插入新纪录,所以不存在“还有这种方法如果在textbox控件上不输入任何东西会把数据改成空吗”这样的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本能看懂,看来所有程序语言都有共通之处,C#也不难,找本书学习一下,我再来帮你解决问题!哈哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询