开发模式:WindowsForm
问题:用DataGridView显示数据,并有增删改功能,但是更新后的数据只能昙花一现,再点一下显示数据就没了,数据库中叶没有发生过改变
我是菜鸟一只,最近研究Linq技术,请高手帮帮忙呀~
17 个解决方案
#1
把你的LINQ代码贴出来!!没代码怎么给你解释啊!
#2
修改数据后,有没有submitchanges操作?
#3
问题补充:
代码如下:
经办人表 经办人表对象 = new 经办人表();
经办人表对象.工号 = dgv区域.CurrentRow.Cells["工号"].Value.ToString();
经办人表对象.姓名 = dgv区域.CurrentRow.Cells["姓名"].Value.ToString();
经办人表对象.性别 = dgv区域.CurrentRow.Cells["性别"].Value.ToString();
hspdb.经办人表s.InsertOnSubmit(经办人表对象);
hspdb.SubmitChanges();
HspDataDataContext hs = new HspDataDataContext();
dgv区域.DataSource = hs.经办人表s;
#4
不懂什么叫做linq数据库,这是新发明的东西?
#5
linq to sql
using (DbDataContext db = new DbDataContext())
{
var editStudent = db.Students.SingleOrDefault<Student>(s=>s.ID == id);
editStudent.Name = "aaa";
db.SubmitChanges();
}
db.Students.DeleteOnSubmit(student);
using (DbDataContext db = new DbDataContext())
{
var editStudent = db.Students.SingleOrDefault<Student>(s=>s.ID == id);
editStudent.Name = "aaa";
db.SubmitChanges();
}
db.Students.DeleteOnSubmit(student);
#6
老是挑字眼,本来一说就明白了的事情,能够帮助解决问题你就帮助解决。
#7
WindowsForm模式的linq是可以直接更新数据库的,我想你的模式应该是:WindowsForm+WPF+Linq
,直接更新数据是没有问题的。就怕你使用silverlight+ling,要更新数据库就必须使用WCF等技术了。
#8
半年的接触你好像一直抵触这样的说法,我看到你只是在内存中的数据集合中使用过linq,没有看到你把linq应用到sqlserver数据库中,所以你总是反对别人把linq和数据库连在一起讲,你觉得这有意义吗?虽然概念上有些瑕疵,但说起来简洁一听就懂,为什么不可以呢?
#9
最近研究Linq技术 的增删改查的 谁有案例发我一份啊
#10
linq更新,先要 把 数据读出来,再 更改要更新的字段,再 提交
如下:
如下:
#11
没有where 条件 。
修改还是删除 都要根据一个唯一值找到在sub事件才有用
修改还是删除 都要根据一个唯一值找到在sub事件才有用
#12
应该是没 提交的原因 SubmitChanges()
#13
SubmitChanges()
#14
你这是添加吧。更新有条件吗
#15
LINQ 不是 SQL,
必须先把数据对象抽出来,
再更新,
然后提交!!
不能在抽对象的同时更新!!
注意多看看LINQ的基础说明
必须先把数据对象抽出来,
再更新,
然后提交!!
不能在抽对象的同时更新!!
注意多看看LINQ的基础说明
#16
不知道是不是因为你定义两次HspDataDataContext的原因?插入的时候用hspdb,读取的时候重新定义了个hs?也不知道你其他部分什么样的~
#17
看了你的那个使用LINQ to SQL向数据库添加记录的做法,非常符合微软一再强调规范。按道理说应该是能够被成功添加到数据库的。不过,数据库既然没有保存你所添加的数据记录,这很可能是根本就没有向数据库发送添加数据的SQL命令。而目前我的推测是,很可能你的那个【经办人表】实体类里面根本就没有设置任何的主键属性。你注意看看是不是这样呢?如果没有设置主键属性的话,那就只能读取数据,而不能进行增删改的操作。
#1
把你的LINQ代码贴出来!!没代码怎么给你解释啊!
#2
修改数据后,有没有submitchanges操作?
#3
问题补充:
代码如下:
经办人表 经办人表对象 = new 经办人表();
经办人表对象.工号 = dgv区域.CurrentRow.Cells["工号"].Value.ToString();
经办人表对象.姓名 = dgv区域.CurrentRow.Cells["姓名"].Value.ToString();
经办人表对象.性别 = dgv区域.CurrentRow.Cells["性别"].Value.ToString();
hspdb.经办人表s.InsertOnSubmit(经办人表对象);
hspdb.SubmitChanges();
HspDataDataContext hs = new HspDataDataContext();
dgv区域.DataSource = hs.经办人表s;
#4
不懂什么叫做linq数据库,这是新发明的东西?
#5
linq to sql
using (DbDataContext db = new DbDataContext())
{
var editStudent = db.Students.SingleOrDefault<Student>(s=>s.ID == id);
editStudent.Name = "aaa";
db.SubmitChanges();
}
db.Students.DeleteOnSubmit(student);
using (DbDataContext db = new DbDataContext())
{
var editStudent = db.Students.SingleOrDefault<Student>(s=>s.ID == id);
editStudent.Name = "aaa";
db.SubmitChanges();
}
db.Students.DeleteOnSubmit(student);
#6
老是挑字眼,本来一说就明白了的事情,能够帮助解决问题你就帮助解决。
#7
WindowsForm模式的linq是可以直接更新数据库的,我想你的模式应该是:WindowsForm+WPF+Linq
,直接更新数据是没有问题的。就怕你使用silverlight+ling,要更新数据库就必须使用WCF等技术了。
#8
半年的接触你好像一直抵触这样的说法,我看到你只是在内存中的数据集合中使用过linq,没有看到你把linq应用到sqlserver数据库中,所以你总是反对别人把linq和数据库连在一起讲,你觉得这有意义吗?虽然概念上有些瑕疵,但说起来简洁一听就懂,为什么不可以呢?
#9
最近研究Linq技术 的增删改查的 谁有案例发我一份啊
#10
linq更新,先要 把 数据读出来,再 更改要更新的字段,再 提交
如下:
如下:
#11
没有where 条件 。
修改还是删除 都要根据一个唯一值找到在sub事件才有用
修改还是删除 都要根据一个唯一值找到在sub事件才有用
#12
应该是没 提交的原因 SubmitChanges()
#13
SubmitChanges()
#14
你这是添加吧。更新有条件吗
#15
LINQ 不是 SQL,
必须先把数据对象抽出来,
再更新,
然后提交!!
不能在抽对象的同时更新!!
注意多看看LINQ的基础说明
必须先把数据对象抽出来,
再更新,
然后提交!!
不能在抽对象的同时更新!!
注意多看看LINQ的基础说明
#16
不知道是不是因为你定义两次HspDataDataContext的原因?插入的时候用hspdb,读取的时候重新定义了个hs?也不知道你其他部分什么样的~
#17
看了你的那个使用LINQ to SQL向数据库添加记录的做法,非常符合微软一再强调规范。按道理说应该是能够被成功添加到数据库的。不过,数据库既然没有保存你所添加的数据记录,这很可能是根本就没有向数据库发送添加数据的SQL命令。而目前我的推测是,很可能你的那个【经办人表】实体类里面根本就没有设置任何的主键属性。你注意看看是不是这样呢?如果没有设置主键属性的话,那就只能读取数据,而不能进行增删改的操作。