动态网站制作指南
[  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C#教程 ]的信息

本月文章推荐
.C# 3.0新特性初步研究 Part3:使用.
.C#,深入浅出全接触(二).
.C#的多线程机制初探(1) .
.C# 3.0新特性初步研究 Part5:匿名.
.C#开发和使用中的23个技巧.
.C#就是Java只不过差了一点点.
.浅析C#的事件处理和自定义事件.
.C#语言初级入门(4).
.SUNWEN教程之----C#进阶(八).
.C#学习笔记(3).
.C#中的“装箱”(boxing)与“拆.
.C#语言初级入门(3).
.数据结构与算法(C#实现)系列---树.
.关于两代语言.C/C++,java/c#.
.C#中的checked、unchecked操作符.
.C#的四个基本技巧 .
.C# 3.0新特性初步研究 Part6:使用.
.Word文档中快速插入分隔线的技巧.
.SUNWEN教程之----C#进阶(十一).
.挑战C#学习的最快速度.

SUNWEN教程之----C#进阶(八)

文章类别:C#教程 | 发表日期:2003-12-29 |


大家好,我是武汉华师的SUNWEN,今天Zzz....(快醒醒!啪!..啪!倒,叫我起来也不要用皮鞋来打嘛@#$%&*).现在是五月四号晚上19:33,我好想睡觉.只好打开音乐来提神了!

这一节我要讲的是大家非常关心的,肯定也是非常感兴趣的部分.嘿嘿,也是我写教程最拿手的部分----ADO数据库访问.想到这,我就想起我在去年写的"访问数据库"系列文章,嘿嘿!所以呢,如果你觉得对记录集之类的东西比较难理解的话,我推荐你先看一看我的那几篇文章.好了,让我们开始吧!

什么是ADO(ActiveX Data Objects译作ActiveX数据对象),ADO是一个非常简单的思想,一种让你仅用一种方式去访问数据的思想.ADO不算一个新的思想,仅是采用现有的数据访问技术,将其融合起来.如果你不理解ADO,想一想ODBC吧!其实我们在搞ASP的时候,就用到了ADO,还记得吗,那个曾经被我们用过无数次的set conn=Server.CreateObject("ADODB.Connection")吗?是的,就是它.至于ADO的一些概念性的东西,请大家自行查阅资料,不过,其实不了解也没有关系,只把它想象成一个M$给我们的访问数据的工具吧!

OK,下面的例子是以一个M$ ACCESS 2000的数据库为基础的,它的结构如下,表名是Categories,文件名是BugTypes.mdb ,赶快建一个吧:

Category ID Category Name
1 Bugbash stuff
2 Appweek Bugs
3 .NET Reports
4 Internal support

好的,我先把所有的程序都写出来,然后我们来一句一句的品尝:

000: // ADO\adosample.cs
001: using System;
002: using System.Data;
003: using System.Data.ADO;
004:
005: public class MainClass
006: {
007: public static void Main ()
008: {
009: // 设定好连接字符串和选择命令字符串010: string strAccessConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BugTypes.MDB";
011: string strAccessSelect = "SELECT * FROM Categories";
012:
013: //建立记录集,并把Categories这个表填进去
014: DataSet myDataSet = new DataSet();
015: myDataSet.Tables.Add("Categories");
016:
017: //建立ADO实例018: ADOConnection myAccessConn = new ADOConnection(strAccessConn);
019: ADODataSetCommand myAccessDataSetCmd = new ADODataSetCommand();
020: myAccessDataSetCmd.SelectCommand = new ADOCommand(strAccessSelect,myAccessConn);
021:
022: myAccessConn.Open();
023: try
024: {
025: myAccessDataSetCmd.FillDataSet(myDataSet,"Categories");
026: }
027: finally
028: {
029: myAccessConn.Close();
030: }
031:
032: try
033: {
034: // 一个记录集可以包含多个表,我们把它们放到一个数组中035: DataTable[] dta = myDataSet.Tables.All;
036: foreach (DataTable dt in dta)
037: {
038: Console.WriteLine("Found data table {0}", dt.TableName);
039: }
040:
041: //下面的两行程序展示了两种从一个记录集中得到这个数据集中的表格数的方法
042: Console.WriteLine("{0} tables in data set", myDataSet.Tables.Count);
043: Console.WriteLine("{0} tables in data set", dta.Length);
044: //下面的几行程序说明了如何从一个记录集中依靠表格的名称来取得信息
045: Console.WriteLine("{0} rows in Categories table", myDataSet.Tables["Categories"].Rows.Count);
046: //列的信息是自动从数据库中得到的,所以我们可以用以下的代码047: Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"].Columns.Count);
048: DataColumn[] drc = myDataSet.Tables["Categories"].Columns.All;
049: int i = 0;
050: foreach (DataColumn dc in drc)
051: {
052: //打印出列的下标和列的名称和数据类型053: Console.WriteLine("Column name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType);
054: }
055: DataRow[] dra = myDataSet.Tables["Categories"].Rows.All;
056: foreach (DataRow dr in dra)
057: {
058: //打印出CategoryID和CategoryName059: Console.WriteLine("CategoryName[{0}] is {1}", dr[0], dr[1]);
060: }
061: }
062: catch (Exception e)
063: {
064: Console.WriteLine("Oooops. Caught an exception:\n{0}", e.Message);
065: }
066: }
067: }
看起来,这个例子是有一些复杂的,只怪我例子选的不好,呵呵.不过,细细分析一下,还是可以理解的.我现在说一下这个例子中几个特别的东东.第一就是不象在ASP中,一个命令字符串被须被当作一个命令对象.020做的正是这个事情.注意,在015行有一个myDataSet.Tables.Add("Categories")语句,这并不是把数据库中的Categories这个表填进去,只不过是建一个空表,而025才是真的填充数据.

这个例子的输出是:

Found data table Categories
1 tables in data set
1 tables in data set
4 rows in Categories table
2 columns in Categories table
Column name[0] is CategoryID, of type Int32
Column name[1] is CategoryName, of type System.String
CategoryName[1] is Bugbash stuff
CategoryName[2] is Appweek Bugs
CategoryName[3] is .NET Reports
CategoryName[4] is Internal support
好了,就说到这吧,SUNWEN真是想睡了,什么音乐都不管用了,呵呵.这个例子还真要花大力气才能完全理解.O.K.886!

 


上一篇:SUNWEN教程之----C#进阶(七) 人气:9909
下一篇:SUNWEN教程之----C#进阶(九) 人气:9557
点击此处浏览全部SUNWEN教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-5-16 乘风多用户PHP统计系统 v3.4
2008-5-16 轩溪下载系统 v3.78 build 0515
2008-5-16 普沙B2B 浙江省商贸网 v2.0
2008-5-16 asp抓蜘蛛的小程序 v1.0
2008-5-16 齐齐乐网私服发布站 仿haosf新版
2008-5-16 IssTech信息反馈系统 v1.0
2008-5-16 自由领域大头贴(js接口版) 修正版
2008-5-16 医院网站系统
2008-5-16 智拓-分类信息管理系统 v5.0
2008-5-7 Windows XP SP3 官方英文版
2008-5-7 Windows XP SP3 官方香港中文版
2008-5-7 Windows XP SP3 官方繁体中文版
2008-5-7 Windows XP SP3 官方简体中文版
2008-4-30 Multiple Unzip Wizard 1.02
2008-4-30 Multiple Unrar Wizard 1.0.0
2008-4-30 WinZip Install/Try/Uninstall a
2008-4-30 ZIP压缩文件修复器WzipFix 2.0
2008-4-30 Pentazip 6.01 Build 189 For Wi
  发表评论
姓 名: 验证码: [ 全部贴吧 ] [ 浏览评论 ]
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報