社区
C#
帖子详情
请教一个Winform里DataGrid向更新数据问题
rocklabzhang
2004-12-23 11:26:26
现在想在DataGrid里直接修改、删除或添加一行,希望直接把这个修改结果更新到其对应的DataSet从而更新到数据库
我以前的做法都是放一个“修改”之类按钮,然后单击按钮把该行数据单独取出来,然后直接向数据库更新。现在想在Grid上直接更新到数据库
请问各位有没有这方面的代码给小弟几段?
感谢!!
...全文
147
9
打赏
收藏
请教一个Winform里DataGrid向更新数据问题
现在想在DataGrid里直接修改、删除或添加一行,希望直接把这个修改结果更新到其对应的DataSet从而更新到数据库 我以前的做法都是放一个“修改”之类按钮,然后单击按钮把该行数据单独取出来,然后直接向数据库更新。现在想在Grid上直接更新到数据库 请问各位有没有这方面的代码给小弟几段? 感谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ElwinLuo
2004-12-24
打赏
举报
回复
更新数据库的sql语句总是要写的,数据库怎么知道你要更新呀?
cjjrty
2004-12-24
打赏
举报
回复
up
lovenet228
2004-12-24
打赏
举报
回复
up
JacksonH
2004-12-24
打赏
举报
回复
示例:数据库假定为aaa,里面有表bbb,包含字段b varchar(10)
主程序如下(其他的可以举一反三):
private void button1_Click(object sender, System.EventArgs e)
{
DataTable dt = (DataTable)this.dataGrid1.DataSource;
System.Data.SqlClient.SqlConnection sqlConn = new SqlConnection("user id=sa;pwd=123;data source=(local);persist security info=False;initial catalog=aaa");
System.Data.SqlClient.SqlCommand sqlCmd = new SqlCommand("select * from bbb",sqlConn);
System.Data.SqlClient.SqlDataAdapter sqlAdap = new SqlDataAdapter(sqlCmd);
System.Data.SqlClient.SqlCommandBuilder sqlBuild = new SqlCommandBuilder(sqlAdap);
sqlConn.Open();
sqlAdap.Update(dt);
sqlConn.Close();
}
private void Form2_Load(object sender, System.EventArgs e)
{
DataTable dt = new DataTable();
System.Data.SqlClient.SqlConnection sqlConn = new SqlConnection("user id=sa;pwd=123;data source=(local);persist security info=False;initial catalog=aaa");
System.Data.SqlClient.SqlDataAdapter sqlAdap = new SqlDataAdapter("select * from bbb",sqlConn);
sqlConn.Open();
sqlAdap.Fill(dt);
sqlConn.Close();
this.dataGrid1.DataSource = dt;
}
ClampHammer
2004-12-24
打赏
举报
回复
用DataGrid添加修改删除时,最好用DataView
他可以同步DataGrid
DataView dataView;
DataGrid dataGrid = new DataGrid();
dataGrid.DataSource = dataView;
弹出窗口修改时,可以将当前选中的行对象DataRowView传递给修改子窗口
可以重载子窗口的构造函数
private DataRowView dataRowView;
public ModifyWindow(DataRowView drv)
{
//传递你要修改的行
this.dataRowView=drv;
}
JacksonH
2004-12-24
打赏
举报
回复
这样的关系就复杂了,涉及到了DataSet和Relation,一般最好是避开这么处理方式
rocklabzhang
2004-12-24
打赏
举报
回复
to JacksonH(勇气) :
请问在绑定父子表时,该怎么更新到数据库?
谢谢
chaochao830101
2004-12-24
打赏
举报
回复
private string[] strArray=null;
private int row=-1;
private int col=-1;
private void dataGrid1_Click(object sender, System.EventArgs e)
{
try
{
if(this.strArray==null)
{
this.SetArray(); //初始化一个数组,用来保存当前行的每列数据。
}
else
{
if(row!=dataGrid1.CurrentRowIndex) //判断是否离开当前行
{
bool yesOrno=false; //用来判断一行中是否有修改过的数据
for(int i=0;i<col;i++) //判断某列是否被修改过
{
if(strArray[i]!=dataGrid1[row,col].ToString())
{
yesOrno=true;
}
}
if(yesOrno)
{
//如果修改过则调用数据库的修改方法
}
this.row=dataGrid1.CurrentRowIndex;
this.col=dataGrid1.VisibleColumnCount;
this.SetArray();//重新记录当前行中每列的数据。
}
}
}
catch(System.ArgumentOutOfRangeException e1)
{
MessageBox.Show(e1.Message);
}
}
private void SetArray()
{
this.row=dataGrid1.CurrentRowIndex;
this.col=dataGrid1.VisibleColumnCount;
strArray=new string[this.col];
for(int i=0;i<this.col;i++)
{
strArray[i]=dataGrid1[this.row,i].ToString();
}
}
如果是删除的话,就可以在DataGrid上注册"Del"事件,删除dataGrid1.CurrentRowIndex;(当前选择行)这种方法避免了太平凡的操作库.(人个看法)但少不了对数据的update 供参考.
marvelstack
2004-12-24
打赏
举报
回复
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
asp.net知识库
一个
时间转换的
问题
,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP...
对不起,各位哥哥,我有
一个
问题
向你们
请教
,请多多指教关于C#
DataGrid
的
问题
,特急!!!...
我所学的是C#,所编的是
winform
结构的,现在我有
一个
功能不能实现,想请你们帮帮我:
问题
要点:我有
一个
界面:界面上有
一个
DataGrid
控件,现在想实现几个功能。1.
DataGrid
中有四列,第一列列名为A,第二列列名为B,...
C#
Winform
图书管理系统
该管理系统采用的开发语言环境是VS2017+SQL Server 2008/2012 ,C/S架构开发的一套
Winform
窗体版本的管理系统。 该系统含有按钮控件、输入控件、容器控件、布局控件、
数据
控件等常用控件的介绍及使用。 该系统含有主...
DataGrid
相关知识总结(收集)
(即行宽固定,不能通过拖拉的方式改变) 定义
DataGrid
的时候就把宽度设定 如何在
winform
中
DataGrid
点击某行,使
数据
实时显示在TEXTBOX中?
datagrid
的keypress事件中 textbox1.text=my
datagrid
(my
datagrid
....
DataGrid
相关知识总结
正在处理您的请求...
DataGrid
相关知识总结 关于
datagrid
的...(即行宽固定,不能通过拖拉的方式改变)定义
DataGrid
的时候就把宽度设定 如何在
winform
中
DataGrid
点击某行,使
数据
实时显示在TEXTBOX中?
datagrid
的keypr
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章