数据录入问题(高分)

linaren 2003-08-03 12:41:17
在一个DataGrid控件中的每行数据回写到数据源中
在DataGrid中的列与数据源中的列相对应
列包括 int char money
...全文
35 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
雪狼1234567 2003-08-03
  • 打赏
  • 举报
回复
看如下的代码:
首先取得数据,放到DataGrid里

System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("server=localhost;database=northWind;uid=sa;password=110");
conn.Open();
System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter("select * from student",conn);
dt = new System.Data.DataSet();
da.Fill(dt,"student");

然后绑定数据集和DataGrid
DataGrid.SetDataBinding(dt,"student");
如果需要,可以绑定TextBox来作录入,而用DataGrid显示
this.textBox16.DataBindings.Add("Text",dt,"student.stuno");
然后进行数据的操作如:
增加:
this.BindingContext[dt,"student"].AddNew();
删除:
this.BindingContext[dt,"student"].RemoveAt(this.BindingContext[dt,"student"].Position);
最后把结果写回数据库:


// sqlInsertCommand1
//
this.sqlInsertCommand1.CommandText = "INSERT INTO student(stuno, name) VALUES (@stuno, @name)";
this.sqlInsertCommand1.Connection = this.conn;
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@stuno", System.Data.SqlDbType.VarChar, 4, "stuno"));
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.VarChar, 50, "name"));
//
// sqlUpdateCommand1
//
this.sqlUpdateCommand1.CommandText = "UPDATE student SET stuno = @stuno, name = @name WHERE (stuno = @Original_stuno)";
this.sqlUpdateCommand1.Connection = this.conn;
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@stuno", System.Data.SqlDbType.VarChar, 4, "stuno"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.VarChar, 50, "name"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_stuno", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "stuno", System.Data.DataRowVersion.Original, null));

// sqlDeleteCommand1
//
this.sqlDeleteCommand1.CommandText = "DELETE FROM student WHERE (stuno = @Original_stuno)";
this.sqlDeleteCommand1.Connection = this.conn;
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_stuno", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "stuno", System.Data.DataRowVersion.Original, null));

this.sqlDa.DeleteCommand = this.sqlDeleteCommand1;
this.sqlDa.InsertCommand = this.sqlInsertCommand1;
this.sqlDa.UpdateCommand = this.sqlUpdateCommand1;
try
{
sqlDa.Update(dt.GetChanges,"student");
return true;
}
catch(System.Data.SqlClient.SqlException ex)
{

return false;
}
finally
{
conn.Close();
}
linaren 2003-08-03
  • 打赏
  • 举报
回复
在线等待
linaren 2003-08-03
  • 打赏
  • 举报
回复
楼上的兄弟,没那么简单的,我也成功的用conection+adapter+dateset+datagrid维护过表
那只是在知道表的结构的情况下的
各位大侠,帮我想一下,一个你不知道结构的表显示在DataGrid 中,该怎么直接在DataGrid中维护?
yahwyahw 2003-08-03
  • 打赏
  • 举报
回复
奇怪,conection+adapter+dateset+datagrid,直接用啊adapter就可以写呀
shixueli 2003-08-03
  • 打赏
  • 举报
回复
DataGrid不会自动更新数据源,你必须在OnUpdateCommand事件里面写更新数据源的语句,如果你真的不想自己写,有一个控件可以帮你:

www.superexpertcontrols.com上面的SuperDataGrid控件
linaren 2003-08-03
  • 打赏
  • 举报
回复
再问 :
在数据表与DataGrid绑定到一块时,依照上面的方式是不是可以直接在DataGrid中修改数据,就可以回写到数据表中?(其中的“修改数据”包不包括新添加行?)
linaren 2003-08-03
  • 打赏
  • 举报
回复
To snof:
在下面的代码中
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@stuno", System.Data.SqlDbType.VarChar, 4, "stuno"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@name", System.Data.SqlDbType.VarChar, 50, "name"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_stuno", System.Data.SqlDbType.VarChar, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "stuno", System.Data.DataRowVersion.Original, null));
参数中变量的范围 比如 4,50 可不可以用程序中的变量替换?
该项目是个人高分毕业设计项目源码,已获导师指导认可通过,都经过严格调试,确保可以运行!放心下载使用。 基于微信小程序的个人健康数据管理系统是一个专为用户提供个人健康数据记录、分析和管理的平台。该系统结合了微信小程序前端和SSM(Spring + Spring MVC + MyBatis)框架后端,旨在为用户提供一个便捷、安全、高效的个人健康数据管理解决方案。 微信小程序端: 用户可以通过微信小程序进行个人健康数据的录入、查看和管理。 提供用户注册和登录功能,用户可以使用微信账号登录或手机号码注册。 支持用户录入个人健康数据,如体重、血压、血糖、运动量等,并可通过图表展示数据趋势。 提供健康建议和提醒功能,根据用户的健康数据和目标为用户提供个性化的健康建议和提醒。 用户可以设置健康目标和计划,系统会自动跟踪进度并提供反馈。 后端SSM框架: 使用Spring框架实现控制反转(IoC)和面向切面编程(AOP),提高了代码的可维护性和可测试性。 使用Spring MVC实现了前端请求的分发和处理,将业务逻辑与视图层进行了有效分离。 结合MyBatis框架实现了持久层与数据库的交互,提供了高效、灵活的数据访问方式。 利用Spring事务管理确保了数据库操作的一致性和完整性,保证了系统的稳定性和可靠性。 个人健康数据管理功能: 用户可以录入、编辑和删除个人健康数据,系统会自动保存并生成健康数据报告。 提供健康数据的图表展示功能,用户可以直观地查看健康数据的变化趋势。 实现健康数据的导出和分享功能,用户可以将健康数据分享给医生或亲友进行健康咨询。 提供健康数据备份和恢复功能,确保用户数据的安全性和可靠性。 健康分析与建议系统: 根据用户录入的健康数据,系统会进行健康分析并生成健康报告,为用户提供个性化的健康建议。 根据用户设置的健康目标和计划,系统会自动跟踪进度并提供相应的健康建议和提醒。 用户可以查看历史健康报告和分析结果,了解自己的健康状况和改善趋势。 数据安全与隐私保护: 采用加密算法对用户健康数据进行加密存储,确保数据的安全性和隐私保护。 严格遵守数据保护法规,保证用户健康数据的安全和隐私不被泄露。 通过以上功能的实现,基于微信小程序的个人健康数据管理系统为用户提供了一个集健康数据记录、分析、管理于一体的全面健康管理平台,结合SSM框架构建的后端服务保证了系统的稳定性、安全性和可扩展性,为用户提供了便捷、安全、高效的个人健康数据管理解决方案。

110,566

社区成员

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

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

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