我想将多个相关联的表放在一个dataset中,数据库结构如下:Create Table MasterTable
(
MasterID Int Identify(1,1),
Names varchar(10)
)Create Table DetailTable1
(
ItemID Int Identity(1,1),
MasterID Int,
Years Int ,
Months Int,
Names varchar(40),
Descriptions text
)Create Table DetailTable2
(
ItemID Int Identity(1,1),
MasterID Int,
EndYears int,
endmonths int,
Names varchar(40),
Descriptions text
) 我定义的代码如下:using System;
using System.Data;
using System.Runtime;
using System.Runtime.Serialization;namespace TestApp.Common.Data
{
/// <summary>
/// TestApp 的摘要说明。
/// 应聘人员基本信息及其附加信息。
/// </summary>
[System.ComponentModel.DesignerCategory("Code")]
[SerializableAttribute]
public class TestData:DataSet
{
public String MASTER_TABLE="MasterTable";
public String MASTER_ID_FIELD="MasterID";
public String MASTER_NAMES_FIELD="Names"; public String DETAIL_TABLE1="DetailTable1";
public String DETAIL_TABLE1_ITEM_ID_FIELD="ItemID";
public String DETAIL_TABLE1_YEARS_FIELD="Years";
public String DETAIL_TABLE1_MONTHS_FIELD="Months";
public String DETAIL_TABLE1_NAMES_FIELD="Names";
public String DETAIL_TABLE1_DESCRIPTION_FIELD="Descriptions"; public String DETAIL_TABLE2="DetailTable2";
public String DETAIL_TABLE2_ITEM_ID_FIELD="ItemID";
public String DETAIL_TABLE2_END_YEARS_FIELD="EndYears";
public String DETAIL_TABLE2_END_MONTHS_FIELD="EndMonths";
public String DETAIL_TABLE2_NAMES_FIELD="Names";
public String DETAIL_TABLE2_DESCRIPTION_FIELD="Descriptions";
public TestData()
{
BuildDataTables();
} private void BuildDataTables()
{
DataTable table;
DataColumnCollection columns;
table=new DataTable(MASTER_TABLE);
columns=table.Columns;
columns.Add(MASTER_ID_FIELD,typeof(System.Int32));
columns.Add(MASTER_NAMES_FIELD,typeof(System.String));
this.Tables.Add(table); table=new DataTable(DETAIL_TABLE1);
columns=table.Columns;
columns.Add(DETAIL_TABLE1_ITEM_ID_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE1_YEARS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE1_MONTHS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE1_NAMES_FIELD,typeof(System.String));//执行时错误,提示已经存在此列,但是在DETAIL_TABLE1中不存在重复的啊,为什么会有此错误?
columns.Add(DETAIL_TABLE1_DESCRIPTION_FIELD,typeof(System.String));
this.Tables.Add(table); table=new DataTable(DETAIL_TABLE2);
columns=table.Columns;
columns.Add(DETAIL_TABLE2_ITEM_ID_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE2_END_YEARS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE2_END_MONTHS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE2_NAMES_FIELD,typeof(System.String));
columns.Add(DETAIL_TABLE2_DESCRIPTION_FIELD,typeof(System.String));
this.Tables.Add(table);
}
}
}
(
MasterID Int Identify(1,1),
Names varchar(10)
)Create Table DetailTable1
(
ItemID Int Identity(1,1),
MasterID Int,
Years Int ,
Months Int,
Names varchar(40),
Descriptions text
)Create Table DetailTable2
(
ItemID Int Identity(1,1),
MasterID Int,
EndYears int,
endmonths int,
Names varchar(40),
Descriptions text
) 我定义的代码如下:using System;
using System.Data;
using System.Runtime;
using System.Runtime.Serialization;namespace TestApp.Common.Data
{
/// <summary>
/// TestApp 的摘要说明。
/// 应聘人员基本信息及其附加信息。
/// </summary>
[System.ComponentModel.DesignerCategory("Code")]
[SerializableAttribute]
public class TestData:DataSet
{
public String MASTER_TABLE="MasterTable";
public String MASTER_ID_FIELD="MasterID";
public String MASTER_NAMES_FIELD="Names"; public String DETAIL_TABLE1="DetailTable1";
public String DETAIL_TABLE1_ITEM_ID_FIELD="ItemID";
public String DETAIL_TABLE1_YEARS_FIELD="Years";
public String DETAIL_TABLE1_MONTHS_FIELD="Months";
public String DETAIL_TABLE1_NAMES_FIELD="Names";
public String DETAIL_TABLE1_DESCRIPTION_FIELD="Descriptions"; public String DETAIL_TABLE2="DetailTable2";
public String DETAIL_TABLE2_ITEM_ID_FIELD="ItemID";
public String DETAIL_TABLE2_END_YEARS_FIELD="EndYears";
public String DETAIL_TABLE2_END_MONTHS_FIELD="EndMonths";
public String DETAIL_TABLE2_NAMES_FIELD="Names";
public String DETAIL_TABLE2_DESCRIPTION_FIELD="Descriptions";
public TestData()
{
BuildDataTables();
} private void BuildDataTables()
{
DataTable table;
DataColumnCollection columns;
table=new DataTable(MASTER_TABLE);
columns=table.Columns;
columns.Add(MASTER_ID_FIELD,typeof(System.Int32));
columns.Add(MASTER_NAMES_FIELD,typeof(System.String));
this.Tables.Add(table); table=new DataTable(DETAIL_TABLE1);
columns=table.Columns;
columns.Add(DETAIL_TABLE1_ITEM_ID_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE1_YEARS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE1_MONTHS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE1_NAMES_FIELD,typeof(System.String));//执行时错误,提示已经存在此列,但是在DETAIL_TABLE1中不存在重复的啊,为什么会有此错误?
columns.Add(DETAIL_TABLE1_DESCRIPTION_FIELD,typeof(System.String));
this.Tables.Add(table); table=new DataTable(DETAIL_TABLE2);
columns=table.Columns;
columns.Add(DETAIL_TABLE2_ITEM_ID_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE2_END_YEARS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE2_END_MONTHS_FIELD,typeof(System.Int32));
columns.Add(DETAIL_TABLE2_NAMES_FIELD,typeof(System.String));
columns.Add(DETAIL_TABLE2_DESCRIPTION_FIELD,typeof(System.String));
this.Tables.Add(table);
}
}
}
解决方案 »
- 请教get;set的问题
- 使用Assembly查询文件Version信息后,如何关闭
- 为什么winform会提示创建组件失败?
- DateTimePicker控件,我想替换下拉按钮的图标
- 如何修改dataGridView某个cell的值
- 共享:net软件安装包的制作[包括卸载](图解)
- 求C#的好电子书籍
- 关于C#中的txt文本解析
- 未处理的“System.ObjectDisposedException”类型的异常出现在 system.windows.forms.dll 中
- 如何设定DataGrid的Cell的格式(比如:decimal 值为15.1,在DataGrid中就为15.10。15.0213为15.02。
- C#的winform程序一件怪事!
- 一个控件的事件中如何触发另一个事件,在线等
fill到DataSet中就可以了