惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - leup

一个硬盘的故事 Orcale 临时表 SQL Server 与Oracle的不同点(从微观上) Oracle中Decode()函数使用技巧 oracle 日期函数介绍 Oracle SQLPLUS命令大全 Oracle 自动生成编号(实现sqlserver自增长字段) Oracle 函数介绍之 分析函数 Oracle 表内部字段产生树状结构的处理 oracle与sqlserver比较 Nhibernate开发资料收集 OWC winform Sample Demo GridView 使用技巧收集 【转】asp.net2.0学习历程 菜鸟到中级程序员的飞跃---30本好书点评 【转】ASP.NET2.0轻松搞定统计图表 【转】ASP.NET2.0 文件图片处理1 ASP.NET2.0 遍历文件夹下所有图片 ASP.NET2.0 ReportingServices 整理1 【转】C#优化字符串操作
创建DataTable,并填充数据,模拟数据库中的表
leup · 2007-10-14 · via 博客园 - leup
有时候需要用datatable来模拟数据库中的表

// Put the next line into the Declarations section.

private System.Data.DataSet dataSet; private void MakeDataTables() { // Run all of the functions. MakeParentTable(); MakeChildTable(); MakeDataRelation(); BindToDataGrid(); } private void MakeParentTable() { // Create a new DataTable. System.Data.DataTable table = new DataTable("ParentTable"); // Declare variables for DataColumn and DataRow objects. DataColumn column; DataRow row; // Create new DataColumn, set DataType, // ColumnName and add to DataTable. column = new DataColumn(); column.DataType = System.Type.GetType("System.Int32"); column.ColumnName = "id"; column.ReadOnly = true; column.Unique = true; // Add the Column to the DataColumnCollection. table.Columns.Add(column); // Create second column. column = new DataColumn(); column.DataType = System.Type.GetType("System.String"); column.ColumnName = "ParentItem"; column.AutoIncrement = false; column.Caption = "ParentItem"; column.ReadOnly = false; column.Unique = false; // Add the column to the table. table.Columns.Add(column); // Make the ID column the primary key column. DataColumn[] PrimaryKeyColumns = new DataColumn[1]; PrimaryKeyColumns[0] = table.Columns["id"]; table.PrimaryKey = PrimaryKeyColumns; // Instantiate the DataSet variable. dataSet = new DataSet(); // Add the new DataTable to the DataSet. dataSet.Tables.Add(table); // Create three new DataRow objects and add // them to the DataTable for (int i = 0; i<= 2; i++) { row = table.NewRow(); row["id"] = i; row["ParentItem"] = "ParentItem " + i; table.Rows.Add(row); } } private void MakeChildTable() { // Create a new DataTable. DataTable table = new DataTable("childTable"); DataColumn column; DataRow row; // Create first column and add to the DataTable. column = new DataColumn(); column.DataType= System.Type.GetType("System.Int32"); column.ColumnName = "ChildID"; column.AutoIncrement = true; column.Caption = "ID"; column.ReadOnly = true; column.Unique = true; // Add the column to the DataColumnCollection. table.Columns.Add(column); // Create second column. column = new DataColumn(); column.DataType= System.Type.GetType("System.String"); column.ColumnName = "ChildItem"; column.AutoIncrement = false; column.Caption = "ChildItem"; column.ReadOnly = false; column.Unique = false; table.Columns.Add(column); // Create third column. column = new DataColumn(); column.DataType= System.Type.GetType("System.Int32"); column.ColumnName = "ParentID"; column.AutoIncrement = false; column.Caption = "ParentID"; column.ReadOnly = false; column.Unique = false; table.Columns.Add(column); dataSet.Tables.Add(table); // Create three sets of DataRow objects, // five rows each, and add to DataTable. for(int i = 0; i <= 4; i ++) { row = table.NewRow(); row["childID"] = i; row["ChildItem"] = "Item " + i; row["ParentID"] = 0 ; table.Rows.Add(row); } for(int i = 0; i <= 4; i ++) { row = table.NewRow(); row["childID"] = i + 5; row["ChildItem"] = "Item " + i; row["ParentID"] = 1 ; table.Rows.Add(row); } for(int i = 0; i <= 4; i ++) { row = table.NewRow(); row["childID"] = i + 10; row["ChildItem"] = "Item " + i; row["ParentID"] = 2 ; table.Rows.Add(row); } } private void MakeDataRelation() { // DataRelation requires two DataColumn // (parent and child) and a name. DataColumn parentColumn = dataSet.Tables["ParentTable"].Columns["id"]; DataColumn childColumn = dataSet.Tables["ChildTable"].Columns["ParentID"]; DataRelation relation = new DataRelation("parent2Child", parentColumn, childColumn); dataSet.Tables["ChildTable"].ParentRelations.Add(relation); } private void BindToDataGrid() { // Instruct the DataGrid to bind to the DataSet, with the // ParentTable as the topmost DataTable. dataGrid1.SetDataBinding(dataSet,"ParentTable"); }