首页/技术开发/内容

怎样在Visual C# .NET中完成一个DataSet的不同记录的选取

技术开发2024-06-02 阅读()
!(ColumnEqual(LastValue, dr[FieldName])) )

??????????? {

??????????????? LastValue = dr[FieldName];

??????????????? dt.Rows.Add(new object[]{LastValue});

??????????? }

??????? }

??????? if (ds != null)

??????????? ds.Tables.Add(dt);

??????? return dt;

}

测试应用

(1)、保存并编译你先前创建的这部分的DataSetHelper类,然后关闭解决方案。

(2)、在下面的步骤里在Visual Studio .NET里创建一个新的Visual C# Windows Form程序:

A、启动 Visual Studio .NET;

B、在文件(File)菜单,点新建(New),和然后点击项目(Project)。

C、在新建项目(New Project)对话框, 点击Visual C#项目(Visual C# Projects)下的项目类型(Project Types),然后点击Windows应用程序(Windows Application)下的模板(Templates)。

(3)、在解决方案资源管理器里右击解决方案,然后点击添加现有项目,加入DataSetHelper这个项目。

(4)、在项目菜单里,点击项目依赖项(Add Reference)。

(5)、在项目依赖项对话框里,选中依赖项(Projects)标签,然后增加这个DataSetHelper项目和这个Windows Form程序的关系。

(6)、在窗口设计界面里,从工具箱里拖拉一个Button控件和一个DataGrid控件到窗体上,指定这个按钮名为btnSelectDistinct,继续保持DataGrid控件的默认名字(DataGrid1)。

(7)、窗体代码界面里,在代码窗口顶部增加下面的引用声明:

using System.Data;

(8)、在窗体的定义增加下面的变量声明:

DataSet ds;

DataSetHelper.DataSetHelper dsHelper;

(9)、增加下面的构造代码(在the InitializeComponent();的下面):

ds = new DataSet();

dsHelper = new DataSetHelper.DataSetHelper(ref ds);

?

// Create source table

DataTable dt = new DataTable("Orders");

dt.Columns.Add("EmployeeID", Type.GetType("System.String"));

dt.Columns.Add("OrderID", Type.GetType("System.Int32"));

dt.Columns.Add("Amount", Type.GetType("System.Decimal"));

???????????????????????????

dt.Rows.Add(new object[] {"Sam", 5, 25.00});

dt.Rows.Add(new object[] {"Tom", 7, 50.00});

dt.Rows.Add(new object[] {"Sue", 9, 11.00});

dt.Rows.Add(new Object[] {"Tom", 12, 7.00});

dt.Rows.Add(new Object[] {"Sam", 14, 512.00});

dt.Rows.Add(new Object[] {"Sue", 15, 17.00});

dt.Rows.Add(new Object[] {"Sue", 22, 2.50});

dt.Rows.Add(new object[] {"Tom", 24, 3.00});

dt.Rows.Add(new object[] {"Tom", 33, 78.75});

?

ds.Tables.Add(dt);

(10)、增加下面的代码在btnSelectDistinct.Click的事件里:

dsHelper.SelectDistinct("DistinctEmployees", ds.Tables["Orders"], "EmployeeID");

dataGrid1.SetDataBinding(ds, "DistinctEmployees");

(11)、运行这个程序,点击按钮一次,观察DataGrid绑定上从代码生成的表和数据。

注意:你只能点击btnSelectDistinct一次。如果你点击这个按钮超过一次的话,你将收到一条错误信息——你2次都在尝试添加同一个表。

进一步的想法:

你用这个功能只能筛选一个字段为互异,可是你可以类似性的扩展到多个字段。做为另一种选择,你可以调用CreateGroupByTable、InsertGroupByInto, 和 SelectGroupByInto 方法,通过使用GROUP BY-type的函数得到同样的结果。

?




第1页  第2页  第3页  第4页  第5页 

……

相关阅读