Visual C#中的数据绑定之五(转)
五. 复杂型组件的数据绑定: 在上面的介绍中,了解到对复杂型组件的数据绑定是通过设定组件的某些属性来完成数据绑定的。首先来介绍一下ComboBox组件的数据绑定. (1).ComboBox组件的数据绑定: 在得到数据集后,只有设定好ComboBox组件的的三个属性就可以完成数据绑定了,这三个属性是:、"DisplayMember"、"ValueMember"。其中"DataSource"是要显示的数据集,"DisplayMember"是ComboBox组件显示的字段,"ValueMember"是实际使用值。具体如下:ComboBox1.DataSource = myD
Visual C#中的数据绑定之四(转)
(2).Label组件的数据绑定: 在掌握了TextBox组件数据绑定以后,可以十分方便的得到Label组件的数据绑定方法,因为这二者实现的方法实在是太相似了。下列语句是把得到数据集的"xm"字段绑定到Label组件的"Text"属性上: label1.DataBindings.Add ( "Text" , myDataSet , "person.xm" ) ; 注释:此时绑定是Access 2000数据库中"person"表的"xm"字段。由此可以得到Label组件数据绑定的源程序代码(Label01.cs),本代码操作数据库是Access 2000: public class Form1
Visual C#中的数据绑定之三(转)
四.简单型组件的数据绑定: (1).TextBox组件的数据绑定: 通过下列语句就可以把数据集(即为:myDataSet)的某个字段绑定到TextBox组件的"Text"属性上面了: textBox1.DataBindings.Add ( "Text" , myDataSet , "person.xm" ) ; 注释:此时绑定是Access 2000数据库中"person"表的"xm"字段。 由此可以得到绑定TextBox组件的源程序代码(TextBox01.cs),下列代码操作的数据库是Access 2000,如下: public class Form1 : Form { private TextBox textBox1 ; priv
Visual C#中的数据绑定之一(转)
我们知道在由于Visual C#自身没有类库,和其他的.Net开发语言一样,Visual C#调用的类库是.Net框架中的一个共有的类库--.Net FrameWork SDK。ADO.NET是.Net FrameWork SDK提供给.Net开发语言进行数据库开发的一个系列类库的集合。在ADO.NET中虽然提供了大量的用于数据库连接、数据处理的类库,但却没有提供类似DbText组件、DbList组件、DbLable组件、DbCombox组件等。要想把数据记录以ComBox、ListBox等形式显示处理,使用数据绑定技术是最为方便、最为直接的方法。所谓数据绑定技术就是把已经打开的数据集中某个或者某些字段绑定到组件
Visual C#中的数据绑定之二(转)
(1). 连接Access 2000,得到DataSet: //创建一个 OleDbConnection string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = db.mdb" ; OleDbConnection myConn = new OleDbConnection ( strCon ) ; string strCom = " SELECT * FROM person " ; file://创建一个 DataSet myDataSet = new DataSet ( ) ; myConn.Open ( ) ; file://用 OleDbDataAdapter 得到一个数据集 OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ; file://把Dataset绑定person数据表 myCommand.Fill (
用Visual C#来修改和删除数据库记录(转)
在以前的一篇文章《Visual C#中轻松浏览数据库记录》中,我们介绍了用Visual C#如何把数据表中的字段值绑定到文本框的属性上和如何操作数据记录指针,随意浏览数据表中的记录。本文就接着上一篇的内容,来介绍用Visual C#如何来修改和删除数据记录。 一.程序设计和运行的环境设置: (1).视窗2000服务器版 (2).Microsoft Access Data Component 2.6 以上版本 ( MADC 2.6 ) (3).本文程序使用的数据库的介绍: 为了方便起见,在选用数据库方面选用了本地数据库Access 2000,当然你也可以选用其他类型的数据库,只需要更改文章后面的程
用Visual C#来增加数据记录(转)
在本篇文章中,我们将介绍Visual C#对数据库的一个基本操作,即:如何往数据库中添加记录。我们将通过一些数据库操作的例子,来具体说明一下。为了更清楚的说明这个问题,在选用数据库方面采用了二种当前比较典型的数据库,其一是本地数据库--Access 2000,另外一个是远程数据库--SQL SERVER 7.0。首先介绍如何用Visual C#来添加Access 2000数据库的记录。 一.用Visual C#来添加Access 2000数据库的记录 (一).程序设计和运行的环境设置: (1)视窗2000服务器版 (2)Microsoft Data Acess Component 2.6 以上版本 ( MDAC 2.6 ) (3)本
使用C#编写扩展存储过程(转)
什么是扩展存储过程?扩展存储过程使您得以使用象 C 这样的编程语言创建自己的外部例程。对用户来说,扩展存储过程与普通存储过程一样,执行方法也相同。可将参数传递给扩展存储过程,扩展存储过程可返回结果,也可返回状态。扩展存储过程可用于扩展 Microsoft® SQL Server™ 2000 的功能。扩展存储过程是 SQL Server 可以动态装载并执行的动态链接库 (DLL)。扩展存储过程直接在 SQL Server 的地址空间运行,并使用 SQL Server 开放式数据服务 (ODS) API 编程。编写好扩展存储过程后,固定服务器角色 sysadmin 的成员即可在
用C#访问Access数据库(转)
我编写这个程序的动机是当我希望用c sharp访问MSAccess数据库的时候我没有办法获得任何信息和参考材料.网上所能获得的所有材料都是偏重于SQL的,所以我们将分两步来编写这个应用程序,第一我们将展示如何连接到MSAccess数据库然后看看它有多复杂.最后,我们就这样完成了这个程序. 闲言少序,让我们开始正题.连接到数据库的过程与我们早先的ADO连接过程相比已经发生了较大的变化.下面的图表恰当的(我希望如此)OleDbConnection--> OleDbCommand --> OleDbDataReader.现在那些熟悉ado的人很明显能看出两者的相似之处但是为了使那些还没有
c#中使用nunit支持数据库单元测试(转)
首先添加引用,在.net组件中加入System.Enterprise Services.测试程序源代码:using System;using NUnit.Framework;using System.EnterpriseServices;namespace TransactionTesting{[TestFixture][Transaction(TransactionOption.Required)]public class DatabaseFixture:ServicedComponent {[TearDown] public void TransactionTearDown() { if(ContextUtil.IsInTransaction) { ContextUtil.SetAbort(); } } }}使用C:Program FilesMicrosoft Visual Studio .NET 2003S
在C#中使用ADO.Net部件来访问Access数据库(转)
数据库的访问是所有编程语言中最重要的部分,C#提供了ADO.Net部件用于对数据库进行访问。我们将从最简单易用的微软Access数据库入手讨论在C#中对数据库的访问。 C#中的Connection对象和Command对象与Access类似,但在这里我们还将使用其另一个与RecordSet类似的被称作ADODataReader的对象,它负责处理与查询有关的RecordSet对象。 首先,必须使用微软的Access创建一个数据库。运行Access,创建一个数据库,但不要创建任何表(我们将在下面的程序中创建表。),保存创建的数据库。 打开控制面板中的ODBC图标,点击System DNS标签,依
八皇后问题的C#解答(转)
改编自V星[视窗王子]应答程序,如下: using System;class Queen{const int SIZE = 8;//皇后数public static void Main(){int[] Queen = new int [SIZE];//每行皇后的位置int y,x,i,j,d,t=0;y = 0;Queen[0] = -1;while( true ){for (x=Queen[y]+1; x<SIZE; x++){for (i=0;i<y;i++){j = Queen[i];d = y-i;//检查新皇后是否与以前的皇后能相互攻击if ((j==x)||(j==x-d)||(j==x+d))break;}if (i>=y)break;//不攻击}if (x == SIZE) //没有合适的位置{if (0==y){//回朔到了第一行Console.WriteLine("Done");break; //结束}/
C# 2.0新特性探究之模拟泛型和内置算法(转)
在C#2.0中,匿名方法、IEnumerable接口和匿名方法的合作,使很多的编程任务变得非常的简单,而且写出来的程序非常的优美。 比如,我们可以写出如下的代码: List<Book> thelib = Library.getbooks(); List<Book> found = thelib.FindAll(delegate(Book curbook) { if (curbook.isbn.StartsWith("...")) return true; return false; }); foreach (Book b in found) Console.WriteLine(b.isbn); 这段程序非常简单的展示给我们需要查找的信息,代码也非常的直接易懂。内置的数据结构给了我们强大的算法
对C#泛型中的new()约束的一点思考(转)
对于new()约束,大家可能有一个误解,以为使用了new约束之后,在创建对象时与非泛型的版本是一致的: public class Tester<T> where T:new() { public Tester() { t = new T();//等同于非泛型版本的new? 例如 object o = new object();? } private T t; } 事实上,使用new关键字的作用只是让编译器在泛型实例化之处,检查所绑定的泛型参数是否具有无参构造函数: Tester<SomeType> t = new Tester<SomeType>(); //此处编译器会检查SomeType是否具有无参构造函数。若没有则会有compile error。 而Tester<T&
C#排序算法大全(转)
冒泡排序 本人用了C#开发出冒泡排序算法。希望能为C#语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。 using System; namespace BubbleSorter { public class BubbleSorter { public void Sort(int [] list) { int i,j,temp; bool done=false; j=1; while((j<list.Length)&&(!done)) { done=true; for(i=0;i<list.Length-j;i++) { if(list[i]>list[i+1]) { done=false; temp=list[i]; list[i]=list[i+1]; list[i+1]=temp; } } j++; } } } public class MainClass { publ
数据结构与算法(C#实现)系列---演示篇(二)(转)
数据结构与算法(C#实现)系列---演示篇(二) Heavenkiller(原创) public static void ShowGeneralTree_travel() { IEnumerator tmpIEnum; Tree.TraversalType travelType=0; //---------------------提示---------------------------- Console.WriteLine("please choose a the No. of a item you want to travel:"); Console.WriteLine("1.BreadthFirst----- 广度遍历"); Console.WriteLi
数据结构与算法(C#实现)系列---演示篇(三)(转)
数据结构与算法(C#实现)系列---演示篇(三) Heavenkiller(原创) public static void ShowSortedList_Polynomial() { //100+10*x+x^2 + 1+10*x+100x^2 SortedList tmpListA=new SortedList(); SortedList tmpListB=new SortedList(); SortedList tmpListC=new SortedList();//used to store the result SortedList tmpKeyList=new SortedList();//used to store all keys of two polynomials //init polyno
数据结构与算法(C#实现)系列---演示篇(一)(转)
这一篇主要是针对以后各篇的数据类型进行一个实质性的演示。因此希望大家具体看了各种数据结构的分析之后再看这篇。 主要包括如下几个方面的演示:1. 堆栈。 演示了一个利用堆栈作的RPN计算器2. 排序表。演示了一个利用排序表做的多项式表达式的加法运算3. 广义树。演示了深度遍历和广度遍历4. N叉树。演示了N叉树的生成插入删除等基本操作5. 表达式树。演示了一个用二叉树和堆栈做的可以将一个后缀表达式翻译为日常中熟悉的中缀表达式的例子6. AVL树。演示了基本操作 using System;using System.Coll
数据结构与算法(C#实现)系列---AVLTree(二)(转)
数据结构与算法(C#实现)系列---AVLTree(二) //---------------override-------------------- public override void AttachKey(object _obj) { if(!IsEmpty()) throw new Exception("My:this node must be a empty tree node!"); this.key=_obj; //产生一个degree长的数组,并将其初始化为空树 this.treeList=new ArrayList(); this.treeList.Capacity=(int)this.degree; for(int i=0;i<
数据结构与算法(C#实现)系列---AVLTree(一)(转)
数据结构与算法(C#实现)系列---AVLTree(一)using System;using System.Collections;namespace DataStructure{ /// <summary> /// AVLTree 的摘要说明。-----平衡二叉查找树 /// </summary> public class AVLTree:BST { protected int height;//空树的高定义为-1; //构造一棵空的二叉查找树 public AVLTree():base() { // // TODO: 在此处添加构造函数逻辑 // height=-1; } public AVLTree(obje