社区
C#
帖子详情
datagridview作为数据录入界面
lovetsfuer
2010-06-26 01:34:40
做一winform系统,明细数据的输入是个难做的问题,对于明细多条数据录入的,我用的是datagridview,在datagridview行里输入数据,点击保存数据保存把数据保存到数据库表中,数据保存这块一直没有处理好,保存数据会经常出错,做过类似问题的请给些建议或是例子,谢谢
...全文
371
12
打赏
收藏
datagridview作为数据录入界面
做一winform系统,明细数据的输入是个难做的问题,对于明细多条数据录入的,我用的是datagridview,在datagridview行里输入数据,点击保存数据保存把数据保存到数据库表中,数据保存这块一直没有处理好,保存数据会经常出错,做过类似问题的请给些建议或是例子,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
没花鹿
2010-06-28
打赏
举报
回复
[Quote=引用 5 楼 lovetsfuer 的回复:]
如果有一行数据数据时提示为将对象引用到实例化对象,两行数据没有错误
[/Quote]保存到数据库的代码有问题了吧,从datagridveiw里取数应该没问题,麻烦的是对于所取出的同一行的数据是否匹配等的判断。
lovetsfuer
2010-06-28
打赏
举报
回复
楼上的相信点,谢谢
jycrystal2002
2010-06-28
打赏
举报
回复
我做过类似的是绑定DataTable,然后保存的时候检测DataTable的RowState 然后根据Add Modified Deleted 等等状态来提交到数据库
lovetsfuer
2010-06-28
打赏
举报
回复
周一了有经验的在给提示一下,谢谢
Yefengkuangxiazai
2010-06-26
打赏
举报
回复
我的代码看过了么???原理是一样的
lovetsfuer
2010-06-26
打赏
举报
回复
是sql数据库
Yefengkuangxiazai
2010-06-26
打赏
举报
回复
我把我做过的列子给你看下如果有用就拿去参考下吧呵呵
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
Bind();
}
private void Bind()
{
SqlConnection con = new SqlConnection("server=.;database=Students;uid=sa;pwd=1");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from StuInfo", con);
DataSet ds = new DataSet();
da.Fill(ds, "stuinfo");
con.Close();
GridView1.DataSource = ds.Tables["stuinfo"].DefaultView;
//定义Gridview的记录的键字段
string[] keys = new string[] { "Id" };
GridView1.DataKeyNames = keys;
GridView1.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
Bind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
SqlConnection con = new SqlConnection("server=.;database=Students;uid=sa;pwd=1");
con.Open();
int Id =Convert .ToInt32( ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text);
string Name=((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text;
string Sex=((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text;
string Love=((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text;
string strsql = "update StuInfo set Name='"+Name+"',Sex='"+Sex+"',Love='"+Love+"' where Id="+Id;
SqlCommand cmd = new SqlCommand(strsql, con);
cmd.ExecuteNonQuery();
con.Close();
GridView1.EditIndex = -1;
Bind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
Bind();
}
}
总之先看看不明白的地方在提呵呵希望帮得到你原理都在这里了
lovetsfuer
2010-06-26
打赏
举报
回复
如果有一行数据数据时提示为将对象引用到实例化对象,两行数据没有错误
Yefengkuangxiazai
2010-06-26
打赏
举报
回复
你的意思是在datagridview里自由编辑数据然后提交到数据库么??? 如果是SQL数据我想我也许能帮到你的忙...
gongsunfeng
2010-06-26
打赏
举报
回复
插入之前遍历数据 判断如果是数据行就插入 可以考虑用dataset 实现
gongsunfeng
2010-06-26
打赏
举报
回复
为什么能出错呢。你用databingsource 了吗 ? 你在插入前先判断下是不是数据行然后在插入就好了 我做过 没有错误 他提示什么错误??
C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载
主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色窗体
界面
、窗体控制技术、MDI窗体和继承窗体、Windows常用控件的使用、...
C#程序开发范例宝典(第2版).part13
实例082 从
DataGridView
控件拖放数据至TreeView控件 113 实例083 在
DataGridView
控件中实现合并单元格 116 实例084 在
DataGridView
控件中显示图片 118 实例085 为
DataGridView
控件实现复选功能 120 实例086 禁用...
C#程序开发范例宝典(第2版).part08
实例082 从
DataGridView
控件拖放数据至TreeView控件 113 实例083 在
DataGridView
控件中实现合并单元格 116 实例084 在
DataGridView
控件中显示图片 118 实例085 为
DataGridView
控件实现复选功能 120 实例086 禁用...
C#程序开发范例宝典(第2版).part02
实例082 从
DataGridView
控件拖放数据至TreeView控件 113 实例083 在
DataGridView
控件中实现合并单元格 116 实例084 在
DataGridView
控件中显示图片 118 实例085 为
DataGridView
控件实现复选功能 120 实例086 禁用...
C#程序开发范例宝典(第2版).part12
实例082 从
DataGridView
控件拖放数据至TreeView控件 113 实例083 在
DataGridView
控件中实现合并单元格 116 实例084 在
DataGridView
控件中显示图片 118 实例085 为
DataGridView
控件实现复选功能 120 实例086 禁用...
C#
110,536
社区成员
642,578
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章