如何实现gridview的更新,删除,而不直接是相对于数据库的操作

jeven_xiao 2009-09-03 10:03:56
我现在就是要实现将我gridview中显示出来的数据,更新,删除,但是不是直接相对于数据库操作的,最后一步是把我显示的数据经过我的更新,删除后,才保存到数据库中的。请贴出实际的代码。
...全文
717 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
a78782295 2010-08-21
  • 打赏
  • 举报
回复
MARK
yisila 2010-08-20
  • 打赏
  • 举报
回复
这个问题讨论这么久啊
hansuzhi 2010-03-04
  • 打赏
  • 举报
回复
看看啊啊啊啊啊me kaaa啊
CHENYANG123 2009-11-26
  • 打赏
  • 举报
回复
h_ls07 说的已经很明白了,LZ还不懂?
a2824122 2009-11-26
  • 打赏
  • 举报
回复
将数据源从数据库出取出来时,存入集合中,将这个集合做为gridview的数据源,所有增删改都在List集合中操作,最后点击保存按钮时,再把这个List集合写入数据库就好了。
h_ls07 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 h_ls07 的回复:]
用一个保存按钮可以实现这个功能,dataAdapter.Update(datSet)。
但是这样的SQL语句太浪费资源,一般在实际项目开发中不会采取这种方法。我们都是自己写SQL语句。
你上面说的,可以用集合来做,也可以自己定义DataTable来实现。。。
既然说到集合,我就用集合做了一个例子。
下载

[/Quote]
[Quote=引用 24 楼 yanimaziba 的回复:]
感谢h_ls07
你编辑的时候是以外部的textbox的更新 然后在更新到gridview中的把,
这里我要的就是直接更新gridview中的数据,怎么做到呢?
[/Quote]
你直接在dataGridView中添加、删除、修改。完了之后再保存,提交到数据库啊。。。
。。。。。。。。。。。。。Smother。。。。。。。。。。。。。。。。。。。。。。。
sssddfff 2009-09-09
  • 打赏
  • 举报
回复
顶一下
24K純帥 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 dzpzds 的回复:]
先对你的数据源进行操作吧  然后在更新至数据库
[/Quote]
就这样用
jeven_xiao 2009-09-09
  • 打赏
  • 举报
回复
QQ号告诉我
这样方便点
jeven_xiao 2009-09-09
  • 打赏
  • 举报
回复
jeven_xiao 2009-09-09
  • 打赏
  • 举报
回复
h_ls07
你给的只是一个导入数据显示数据的过程,我真正要的是更新,删除数据的过程,其实你上面给的代码不错,我的需求是这样的,我每次导入一个 excel就可以把excel中的数据显示在gridview中,并且我可以更新,删除我所导入的数据,最后我确定没有问题了就保存到数据库中。
很感谢你
可以达到我的这个需求么
风之影子 2009-09-09
  • 打赏
  • 举报
回复
楼上的说的不少了

我也写个思路吧.

你dgv绑定的是数据源.
你可以直接对数据源操作.

也就是说你在每一行dgv里进行操作时,在退出行时进行内存表的修改.(根据绑定的行ID修改数据源对应的ID行)

最后通过数据适配器adapter的update进行数据库里表的更新.
风之影子 2009-09-09
  • 打赏
  • 举报
回复
还没有解决吗?
sssddfff 2009-09-09
  • 打赏
  • 举报
回复
遇到一样的问题,希望可以有一个具体的实例参考一下
jeven_xiao 2009-09-08
  • 打赏
  • 举报
回复
h_ls07
非常感谢,现在我要实现的是这样的,就是我每次是以外部的excel文件作为数据源,然后把excel中的数据显示在gridview中,没有保存到数据库中的,(已经解决),现在就是要对 gridview中的数据进行更新,删除,最后保存到数据库中。 比如excel中的数据字段为:start_code, end_code 导入gridview中显示出来,现在要对导入到gridview中的 start_code和 end_code进行更新删除。
泛型从来没有用过,请你那我提供的资料信息做个例子,马上结帖给分,多谢多谢,其实小弟很菜~
h_ls07 2009-09-08
  • 打赏
  • 举报
回复
用一个保存按钮可以实现这个功能,dataAdapter.Update(datSet)。
但是这样的SQL语句太浪费资源,一般在实际项目开发中不会采取这种方法。我们都是自己写SQL语句。
你上面说的,可以用集合来做,也可以自己定义DataTable来实现。。。
既然说到集合,我就用集合做了一个例子。
下载
sz_xd 2009-09-07
  • 打赏
  • 举报
回复
up
h_ls07 2009-09-07
  • 打赏
  • 举报
回复

dic[id].Dept=this.dataGridView1.SelectedRows[0].Cells["dept"].Value.ToString();
or
dic[id].Dept=this.dataGridView1["dept", this.dataGridView1.SelectedRows[0].Index].Value.ToString();
jeven_xiao 2009-09-07
  • 打赏
  • 举报
回复
我想这其实跟购物车的 增,删,改差不多`~
jeven_xiao 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 h_ls07 的回复:]
引用 24 楼 yanimaziba 的回复:
感谢h_ls07
你编辑的时候是以外部的textbox的更新 然后在更新到gridview中的把,
  这里我要的就是直接更新gridview中的数据,怎么做到呢?

1、更新dataGridView中数据后,遍历dataGridView,判断哪些数据被修改过。然后通过键值对去修改集合中的数据。
2、用Update()批量更新,但是这种方法是自动生成单表命令。sql语句不够简练。
[/Quote]



你还是不明白我的意思呀

看你的代码
://编辑
try
{
int id = Convert.ToInt32(this.dataGridView1.SelectedRows[0].Cells["id"].Value);
dic[id].Id = Convert.ToInt32(this.txtID.Text);
dic[id].Dept = this.txtDept.Text.ToString();
dic[id].Name = this.txtName.Text.ToString();
dic[id].Sal = Convert.ToDouble(this.txtSal.Text);
}
你是在gridview外部更新,把外部的textbox值 更新为内部gridview中的值,这样当然没有问题,
现在我的是没有那些你所谓的this.txtDept.Text.ToString();怎么更新
难道:dic[id].Dept=dic[id].Dept????????
加载更多回复(28)
通信关 1.C#HttpHelper,Httpwebrequest,请求时无视编码,无视证书,无视Cookie,网页抓取 主要是实现了HTTP协议的GET|POST请求时的无视编码,无视证书,设置代理,自动获取Cookie的功能。 访问数据库关 1.SqlHelper类 使用C#实现对Sql数据库操作,执行存储过程,Sql语句,返回影响行数,返回DateTable,DataSet,DataReader,以及表集等方法。实现多个数据库的切换功能。功能强大,希望大家喜欢 2.一个操作Sql2005数据库的类(备份,还原,分离,附加,添加删除用户等操作) 这主要是为了让大家练手的,他使用C#代 码的方法实现了对数据的 备份,还原,分离,附加,添加和删除用户等操作 3.DbHelperMySQL类 数据访问抽象基础类 主要是访问Mysql数据库主要实现如下功能 1.得到最大值 2.是否存在 3.是否存在(基于MySqlParameter) 4.执行SQL语句,返回影响的记录数 5.执行MySql和Oracle滴混合事务,执行多条SQL语句,实现数据库事务。 6.执行带一个存储过程参数的的SQL语句。 7.执行带一个存储过程参数的的SQL语句。 8.向数据库里插入图像格式的字段(和上面情况类似的另一种实例) 9.执行一条计算查询结果语句,返回查询结果(object)。 10.执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close ) 11.执行查询语句,返回DataSet,执行SQL语句,返回影响的记录数,执行多条SQL语句,实现数据库事务。 执行多条SQL语句,实现数据库事务。 12.执行多条SQL语句,实现数据库事务。 13.执行多条SQL语句,实现数据库事务。 14.执行一条计算查询结果语句,返回查询结果(object)。 15.执行查询语句,返回MySqlDataReader ( 注意:调用该方法后,一定要对MySqlDataReader进行Close ) 16.执行查询语句,返回DataSet等等。 复制代码 4.DbHelperOleDb类 1.数据访问基础类(基于OleDb)Access数据库, 2.得到最大值;是否存在;是否存在(基于OleDbParameter); 3.执行SQL语句,返回影响的记录数;执行多条SQL语句,实现数据库事务; 4.执行带一个存储过程参数的的SQL语句; 5.向数据库里插入图像格式的字段(和上面情况类似的另一种实例); 6.执行一条计算查询结果语句,返回查询结果(object); 7.执行查询语句,返回OleDbDataReader; 8.执行查询语句,返回DataSet; 9.执行SQL语句,返回影响的记录数; 10.执行多条SQL语句,实现数据库事务; 11.执行一条计算查询结果语句,返回查询结果(object); 12.执行查询语句,返回OleDbDataReader;执行查询语句,返回DataSet; 复制代码 5.DbHelperOra类 1.数据访问基础类(基于Oracle),主要是用来访问Oracle数据库的。 2.得到最大值;是否存在;是否存在(基于OracleParameter ); 3.执行SQL语句,返回影响的记录数; 4.执行多条SQL语句,实现数据库事务; 5.执行带一个存储过程参数的的SQL语句; 6.向数据库里插入图像格式的字段(和上面情况类似的另一种实例); 7.执行一条计算查询结果语句,返回查询结果(object); 8.执行查询语句,返回OracleDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ); 9.执行查询语句,返回DataSet; 10.执行SQL语句,返回影响的记录数; 11.执行多条SQL语句,实现数据库事务; 12.执行一条计算查询结果语句,返回查询结果(object); 13.执行查询语句,返回OracleDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ); 14.执行查询语句,返回DataSet; 15.执行存储过程 返回SqlDataReader ( 注意:调用该方法后,一定要对SqlDataReader进行Close ); 16.执行存储过程;构建 OracleCommand 对象(用来返回一个结果集,而不是一个整数值); 17.执行存储过程,返回影响的行数; 18.创建 OracleCommand 对象实例(用来返回一个整数值) 复制代码 6.DbHelperSQLite类 [code=csharp] 1.数据访问基础类(基于SQLite),主要是用来访问SQLite数据库的。 2.得到最大值;是否存在;是否存在(基于SQLiteParameter); 3. 执行SQL语句,返回影响的记录数 4.执行多条SQL语句,实现数据库事务。 5.执行带一个存储过程参数的的SQL语句。 6.向数据库里插入图像格式的字段(和上面情况类似的另一种实例) 7.执行一条计算查询结果语句,返回查询结果(object)。 8.执行查询语句,返回SQLiteDataReader 9.执行查询语句,返回DataSet 10.执行SQL语句,返回影响的记录数 11. 执行多条SQL语句,实现数据库事务。 12. 执行一条计算查询结果语句,返回查询结果(object)。 13.执行查询语句,返回SQLiteDataReader 14.执行查询语句还参数,返回DataSet[/code] 7.DbHelperSQLP类 8.DbHelperSQL类 9.OracleHelper类 帮助类 1.最新的Functions 类 这里面实现了很多的帮助方法,比如正则验证,加密,解密,MD5加密,字符串的处理等操作。 2.最新的 PageValidate 类 主要是实现了验证,是否为空,是否为数字等。 3.JavascriptHelp 帮助输出简单的JS代码 4.最新的皮肤帮助类 UI_Misc_Helper JavaScript|Jquery关 1.jQuery.cookie帮助类 访问系统关 1.C#计算机信息类ComputerInfo 实现了计算机的信息获取功能,计算机名,IP,硬盘信息,网卡信息,操作系统信息等 2.Api_Win32_Mac类工具包 一个Win32的Api包,实现了大部分的Api操作帮助方法 3.在c#程序中放音乐的帮助类 使用C#播放音乐的帮助类,只需要调用方法就可以放音乐了 GDI+关,图像关 1.生成缩略图的类文件SmallImage 一个把图片生成缩略图的类,可以设置大小,非常好用,希望大家喜欢哦。 C#基础类库 1.Chart图形 Assistant创建显示图像的标签和文件 OWCChart统计图的封装类 2.Cookie&Session&Cache缓存帮助类 CacheHelper C#操作缓存的帮助类,实现了怎么设置缓存,怎么取缓存,怎么清理缓存等方法,只需要调用方法就可以实现 CookieHelper C#操作Cookie的帮助类,添加Cookie,删除Cookie,修改Cookie,清理Cookie SessionHelper C#关于Session的操作,获取Session,设置Session,删除Session使用方便,只需要调用方法就可以了 SessionHelper2 C#关于Session的一些高级操作,比如取Session对象,取Session数据等等 3.CSV文件转换 CsvHelper CSV文件导入DataTable和DataTable导出到Csv文件等操作 4.DEncrypt 加密/解密帮助类 DEncrypt C#DEncrypt加密/DEncrypt解密帮助类 ,多种方式,可以设置Key DESEncrypt C#DESEncrypt加密/DESEncrypt解密帮助类 ,多种方式,可以设置Key Encrypt C#Encrypt--Encrypt加密/Encrypt解密/附加有MD5加密,个人感觉很不错的一个加密类 HashEncode 哈希加密帮助类,得到随机哈希加密字符串,随机哈希数字加密等 MySecurity MySecurity--Security安全加密/Security Base64/Security文件加密,以及一些常用的操作方法 RSACryption RSACryption--RSA加密/RSA解密字符串 RSA加密应用最多是银行接口,这里的方法可以直接使用哦 5.FTP操作类 FTPClient   FTPClient--FTP操作帮助类,FTP上传,FTP下载,FTP文件操作,FTP目录操作 FTPHelper FTPHelper-FTP帮助类,FTP常用操作方法,添加文件,删除文件等 FTPOperater FTP操作帮助类,方法比较多,比较实用 6.JS操作类 JsHelper JsHelper--Javascript操作帮助类,输出各种JS方法,方便不懂JS的人使用,减少代码量 7.JSON 转化类 ConvertJson List转成Json|对象转成Json|集合转成Json|DataSet转成Json|DataTable转成Json|DataReader转成Json等 8.Mime MediaTypes 电子邮件类型帮助类,规定是以Xml,HTML还是文本方式发送邮件 MimeEntity Mime实体帮助类 MimeHeaders mime的Header帮助类 MimeReader mime读取帮助类 QuotedPrintableEncoding mimeEncoding帮助类 9.PDF 转化类 PDFOperation PDFOperation--C#PDF文件操作帮助类 类主要功能有1.构造函数2.私有字段3.设置字体4.设置页面大小 5.实例化文档6.打开文档对象7.关闭打开的文档8.添加段落9.添加图片10.添加链接、点 等功能 10.ResourceManager 操作类 AppMessage app消息格式化类,返加字符串帮助类 ResourceManager C#一个操作Resource的帮助类 ResourceManagerWrapper Resources 操作Resources的帮助类,使用Api的方式 Sample.xml 11.XML操作类 XmlHelper 操作Xml文档的帮助类,主要是添加,删除,修改,查询节点的操作操作后进行保存的功能。 XMLProcess 操作Xml文档的帮助类,主要是添加,删除,修改,查询节点的操作的功能。 12.弹出消息类 MessageBox JS弹出信息帮助类 ShowMessageBox 对于MessageBox更丰富的提示类 13.导出Excel 操作类 DataToExcel 从“Excel导出数据的帮助类 ExcelHelper 导出到文件,导出一部分集合,从DataTable中操作等 ExportExcel 主要功能如下1.将整个网页导出来Excel 2.将GridView数据导出Excel GridViewExport 主要功能:将整GridView的数据导出到Excel中关增加一个效果线做美化 14.分词辅助类 SegList C#SegList分词辅助类,帮助类 15.汉字转拼音 EcanConvertToCh C#将汉字转成拼音 PinYin 取汉字拼音的首字母,只要你输入一个汉字,或者是多个汉字就会取出应的道字母,主要是方便查询使用的 复制代码 16.配置文件操作类 ConfigHelper 1.根据Key取Value值 2.根据Key修改Value 3.添加新的Key ,Value键值对 4.根据Key删除项 复制代码 17.日历 CNDate 1.传回公历y年m月的总天数 2.根据日期值获得周一的日期 3.获取农历 复制代码 18.上传下载 DownLoadHelper 输出硬盘文件,提供下载 支持大文件、续传、速度限制、资源占用小 复制代码 FileDown 1.参数为虚拟路径 2.获取物理地址 3.普通下载 4.分块下载 5.输出硬盘文件,提供下载 支持大文件、续传、速度限制、资源占用小 复制代码 FileUp 1.把上传的文件转换为字节数组 2.流转化为字节数组 2.上传文件根据FileUpload控件上传 3.把Byte流上传到指定目录并保存为文件 复制代码 UpLoadFiles 页面专用类 19.时间操作类 DateFormat 返回每月的第一天和最后一天 复制代码 TimeHelper 1.将时间格式化成 年月日 的形式,如果时间为null,返回当前系统时间 2.将时间格式化成 时分秒 的形式,如果时间为null,返回当前系统时间 3.把秒转换成分钟 4.返回某年某月最后一天 5.返回时间差 6.获得两个日期的间隔 7.格式化日期时间 8.得到随机日期 复制代码 20.视频转换类 VideoConvert 1.获取文件的名字 2.获取文件扩展名 3.获取文件类型 4.视频格式转为Flv 5.生成Flv视频的缩略图 6.转换文件并保存在指定文件夹下 7.转换文件并保存在指定文件夹下 8.运行mencoder的视频解码器转换 复制代码 21.随机数类 BaseRandom 1.产生随机字符 2.产生随机数 3.在一定范围内产生随机数 复制代码 RandomHelper 1.生成一个指定范围的随机整数,该随机数范围包括最小值,但不包括最大值 2.生成一个0.0到1.0的随机小数 3.对一个数组进行随机排序 4. 一:随机生成不重复数字字符串 5.方法二:随机生成字符串(数字和字母混和) 6.从字符串里随机得到,规定个数的字符串. 复制代码 22.条形码 BarCodeToHTML 本类是个条码生成类,大家可根据需要自己设置,非常好用 23.图片 ImageClass 主要功能有:缩略图片,图片水印,文字水印,调整光暗,反色处理,浮雕处理,拉伸处理,左右翻转,上下翻转, 压缩图片,图片灰度化,转换为黑白图片,获取图片中的各帧 ImageDown 主要功能,把图片下载到本地 ImageUpload 图片上传并进行缩略图处理 24.网络 NetHelper 25.文件操作类 DirFileHelper FileOperateHelper INIFile 26.序列化 Serialize 序列化帮助类,还有例子 SerializeHelper 序列化帮助类,Xml序列化,Json序列化,SoapFormatter序列化,BinaryFormatter序列化 27.压缩解压缩 SharpZip 28.验证码 YZMHelper Captcha 验证码类,一个很个性的验证码类 29.页面辅助类 HTMLHelper UploadEventArgs JavaScriptPlus PageHelper 30.邮件 MailHelper MailPoper MailSender SmtpServerHelper 31.邮件2 ConnectCommand ConnectResponse DeleCommand ListCommand ListResponse MailHeaders MailMessageEx NoopCommand PassCommand Pop3Client Pop3Command Pop3Commands Pop3Exception Pop3ListItem Pop3Response Pop3Responses Pop3State QuitCommand RetrCommand RetrResponse RsetCommand Stat StatCommand StatResponse TopCommand UserCommand 32.正则表达式 RegexHelper 33.字符串 StringHelper 34.其它 BasePage BindDataControl ConvertHelper DataCache FormulaExpress GridViewHelper IpHelper MediaHandler PageValidate PicDeal QueryString Rmb StringPlus SysHelper Tools UrlOper Utility ValidateImg WebSitePathHelper

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧