此方法在自己最近写的这个程序中经常用到,感觉非常好用。尤其是将TreeView、Menu等,保存到数据库相对的表中时。将些记录下来,以供大家参考。
/// DataTable记录集导入到数据库表 /// </summary> /// <param name="connString">数据库联结串</param> /// <param name="SouseDataTable">要导入的数据DataTable</param> /// <param name="DestTableName">目的表名</param> /// <param name="IsAppendRow">是否追加记录</param> /// <returns></returns> public static bool DataTableInputDataBase(string connString, DataTable SouseDataTable, string DestTableName, bool IsAppendRow) { if (SouseDataTable.Rows.Count > 0) { if (IsAppendRow == false) { HR.AuditSystem.DBUtility.DbHelperSQL.ExecuteSql("delete from " + DestTableName); } SqlConnection SqlCnn = new SqlConnection(connString); SqlCnn.Open(); DataTable NewTable = OrdinalTable(connString, SouseDataTable, DestTableName); SqlBulkCopy Bcp = new SqlBulkCopy(SqlCnn); Bcp.DestinationTableName = DestTableName; Bcp.WriteToServer(NewTable); Bcp.Close(); SqlCnn.Close(); } SouseDataTable.Reset(); SouseDataTable.Dispose(); return true; } /// <summary> /// 调整表字段顺序 /// </summary> /// <param name="SqlConnstring">数据库联结串</param> /// <param name="DTS">源DataTable</param> /// <param name="DestTableName">目标表名</param> /// <returns></returns> private static DataTable OrdinalTable(string SqlConnstring, DataTable DTS, string DestTableName) { System.Data.SqlClient.SqlConnection SqldbCnn = new System.Data.SqlClient.SqlConnection(SqlConnstring); DataTable DTD = new DataTable(); System.Data.SqlClient.SqlDataAdapter SqlDbDA = new System.Data.SqlClient.SqlDataAdapter("select top 1 * from " + DestTableName, SqldbCnn); SqldbCnn.Open(); SqlDbDA.Fill(DTD); SqlDbDA.Dispose(); SqldbCnn.Close(); DTD.Clear(); int I = 0; int J = 0; string CNS = ""; string CND = ""; int MaxCol = 0; for (I = 0; I < DTS.Columns.Count; I++) { CNS = DTS.Columns[I].ColumnName; for (J = 0; J <= DTD.Columns.Count - 1; J++) { CND = DTD.Columns[J].ColumnName; if (CND.ToUpper() == CNS.ToUpper()) { if (MaxCol < J) { MaxCol = J; break; } } } } for (J = 0; J <= MaxCol; J++) { if (DTS.Columns.IndexOf(DTD.Columns[J].ColumnName) < 0) { DTS.Columns.Add(DTD.Columns[J].ColumnName.ToUpper(), DTD.Columns[J].DataType); } } for (I = 0; I <= DTD.Columns.Count - 1; I++) { CND = DTD.Columns[I].ColumnName; for (J = 0; J <= DTS.Columns.Count - 1; J++) { CNS = DTS.Columns[J].ColumnName; if (CNS.ToUpper() == CND.ToUpper()) { DTS.Columns[J].SetOrdinal(I); break; } } } return DTS; }
发表评论
-
C# 实现将文件夹分卷压缩
2015-04-17 17:01 1243http://bbs.csdn.net/topics/3907 ... -
C#发送邮件
2015-04-17 15:58 696public class SendEmailHelper ... -
C# xml文件读取
2015-02-11 16:08 648看附件................ -
什么时候该用委托,为什么要用委托,委托有什么好处....
2015-01-29 16:56 819http://www.cnblogs.com/superpce ... -
C#中动态加载和卸载DLL
2015-01-26 14:02 1426在C++中加载和卸载DLL是一件很容易的事,LoadLibra ... -
转:c#常用的18种设计模式
2015-01-21 08:16 779http://blog.jobbole.com/78130/ -
C#委托的介绍(delegate、Action、Func、predicate)
2015-01-09 17:26 1132http://www.cnblogs.com/akwwl/p/ ... -
接口和抽象类有什么区别 .
2014-12-22 16:35 617接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么 ... -
C#一个简单写日志文件的类
2014-12-11 09:57 1113/// <summary> /// L ... -
Linq初级班 Linq to DataSet体验(单表、多表联合查询JOIN语法)
2014-12-10 14:34 356http://www.cnblogs.com/huangcon ... -
C#泛型详解
2014-11-29 11:31 483我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处 ... -
线程同步与异步的区别
2014-11-26 09:12 884异步处理就是按照不同步的程序处理问题。异步处理与同步处理是对立 ... -
应用C#和SQLCLR编写SQL Server用户定义函数 .
2013-10-09 17:07 486http://blog.csdn.net/zhzuo/arti ... -
log4Net简介
2013-06-30 11:32 575使用log4Net可以将系统听日志保存到DB、日志文件、邮箱中 ... -
DataGridView历史记录的前进与后退操作
2013-06-23 11:13 1108此功能介绍:DataGridView频繁查询数据时,可以将每次 ... -
c# 对INI配置文件的读取操作
2013-06-17 10:51 678此种方法只对如下格式的INI文件起作用 server=loca ... -
对DataGridView控件的扩展开发
2013-06-15 21:47 2381首先在项目中引用 ... -
对集合控件(ListBox,ComboBox,TreeView,RichTextBox,DataGridView)的查找、替换操作控件
2013-06-15 09:39 1550一、程序入口: using System; using ... -
C#对文件、文件夹操作公用组件
2013-06-11 09:46 968namespace HR.Class.IO { / ... -
TreeView控件操作开发篇之(五)
2013-06-09 00:09 828#region 加载文件夹及文件到树 ...
相关推荐
这对于检索图片数据非常有用,因为可以在程序中直接处理数据集,无需保持数据库连接。 8. **图片控件显示**: 在VB.NET界面中展示图片,可以使用`PictureBox`控件。读取数据库中的图片后,将字节数组转换为`Image`...
对于复杂的数据操作,可以使用LINQ(Language Integrated Query),它允许开发者使用类似SQL的语法在内存中的数据集上进行查询。 3. **图表绘制**:C#的数据可视化通常依赖于第三方库,如 Microsoft Chart Controls...
- 数据填充:使用SqlDataAdapter和DataSet/Datatable将数据库结果集加载到内存中。 -事务处理:在多步骤操作中,可以使用Transaction确保数据的一致性。 5. **课程设计过程**: - 需求分析:明确系统的目标,如...
DataSet是一个内存中的数据集,可以存储和操作多表数据,而DataAdapter则负责在数据库和DataSet之间同步数据。 学习VB.NET数据库编程,你需要掌握以下几个关键概念: 1. 数据连接:使用SqlConnection类创建到...
它通过 SqlConnection 连接数据库,SqlCommand 执行SQL语句,SqlDataReader 读取结果集,SqlDataAdapter 和 DataTable 用于填充和操作数据集。在图书管理系统中,可能会涉及到添加新图书、查询图书信息、更新图书...
ADO.NET提供了一组组件,如Connection(连接)、Command(命令)、DataAdapter(数据适配器)和DataSet(数据集),这些组件使得C#与数据库的交互变得简单且高效。 在这个学生管理系统中,"增"功能指的是添加新的...
8. 安全性:考虑到数据库的安全性,可以设置数据库的访问权限,限制不同用户对数据的操作范围。 通过以上步骤,我们可以创建一个基本的学生学籍管理系统,实现学生信息的录入、查询、修改、删除等核心功能。随着...
这种方式提高了交互性,因为它允许用户在提交之前查看并修改整个数据集。 具体实现步骤可能包括: 1. 创建一个空的DATATABLE,定义列名以匹配数据库表结构。 2. 在前端HTML代码中,设置一个表格,其行可以通过...
ADO.NET提供了一套全面的数据访问组件,如DataSet、DataTable、DataRow等,可以方便地连接数据库、执行SQL语句、填充数据集、更新数据库等。 六、用户界面设计 在VS2005中,可以使用Windows Forms或WPF来设计用户...
开发过程中,会运用到.NET的窗体应用程序(Windows Forms)来构建用户界面,提供数据录入、查询、修改和报表打印等功能。控件如TextBox、ComboBox、DataGridView等被用来展示和编辑数据,而Button、MenuStrip等则...
通过DataTable、DataAdapter等对象,可以方便地在代码中操作数据库数据。 六、异常处理与日志记录 为了提高系统的健壮性,学员管理系统应包含完善的异常处理机制,如try-catch-finally结构,以捕获并处理可能出现...
ADO.NET是一组数据访问组件,它提供了一种面向对象的方式来操作数据库,包括数据集(DataSet)、数据表(DataTable)、数据适配器(DataAdapter)等核心类。在本项目中,开发者可能通过创建数据库连接,使用SQL语句...
4. **数据适配器和数据集**:`SqlDataAdapter`用于在数据库和内存中的`DataSet`或`DataTable`之间传输数据,实现数据的填充和更新。 5. **数据绑定**:将数据库中的数据绑定到控件,如`DataGridView`,展示新闻列表...
5. **数据绑定**:LookUpEdit支持多种数据绑定方式,如DataSource和DataMember属性,可以将控件与数据源(如DataTable、Entity Framework实体集等)绑定,实现数据的双向同步。 6. **编辑模板**:通过`EditForm`和`...
2. ADO.NET:C#通过ADO.NET库与数据库进行交互,它提供了DataSet、DataTable、DataAdapter等组件,用于执行SQL语句、填充数据集和更新数据库。 3. ORM框架:为了简化数据库操作,开发者可能会选择使用ORM(对象关系...
此外,还可能有用于处理数据的辅助函数,如FillDataTable()将查询结果填充到DataTable对象。 总之,Access数据库提供了一套全面的工具,便于管理和操作数据。在编程环境中,如C#,我们可以通过ADO.NET库与Access...
ADO.NET是.NET框架的一部分,它提供了一组组件,用于创建与数据库的连接、执行SQL命令以及填充数据集。关键组件包括SqlConnection、SqlCommand、SqlDataReader、DataSet和DataTable等。 3. **创建数据库**: "Data ...
本教程的"PDG文件"可能包含详细的章节,如建立数据库连接、创建数据适配器、使用数据集填充控件、执行CRUD操作(创建、读取、更新、删除)、事务处理、错误处理等。阅读工具将帮助用户更方便地浏览和学习这些内容。 ...
3. **执行查询**:使用`SqlCommand`对象执行查询,并将结果集保存到`SqlDataReader`中。 ```csharp SqlCommand command = new SqlCommand(query, connection); connection.Open(); SqlDataReader reader = ...
在医院管理系统中,开发者可以使用ADO.NET来创建数据库连接、执行SQL语句、填充数据集,从而与数据库进行交互。 4. **设计数据库模型** 在医院管理系统中,我们需要设计符合业务逻辑的数据库表结构。例如,可以...