网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.捕捉摄相头的数据流 .
.C#3.0 中的扩展方法 (Extension .
.C# GridView 排序及分页.
.在Visual C#中定义和使用自己的特.
.用C#代码编写的SN快速输入工具.
.C#程序模拟鼠标操作 [Simulate M.
.分享动态生成文字图片解决方案.
.用Visual C#中实现DB2数据库编程.
.C#下提取汉字首字的拼音首字母并.
.C#连接mysql .
.C#控制Windows Messenger和Windo.
.论C#变得越来越臃肿是不可避免的.
.根据html页面模板动态生成html页.
.C#中利用process类调用外部程序以.
.如何利用C#创建和调用DLL .
.C#中利用Markup Service实现HTML.
.如何用C#编写文本编辑器.
.在Visual C#.Net中使用CWGraph控.
.C#導出Excel源碼.
.C#算法设计与分析-寻找素数.

C#3.0 中 DLINQ 从数据库获得数据集,XLINQ从XML文件获得数据集的方法

发表日期:2007-6-13


DLINQ和XLINQ的具体查询,更新等操作不是本文讨论重点,本文重点解决如何获取需要查询的数据集。

DLINQ 如何链接到数据库?

DLINQ可以访问DataSet,这种情况我们在本文就不考虑了,

本文考虑的是直接用DLINQ访问数据库,我们如果用VS Orcas中的LINQ到SQL的新ORM设计器,VS替我们产生了一些代码,这种情况也不是本文考虑的范围。

本文我们要考虑的事情是:如何自己编码去链接数据库,这样我们才能对DLINQ链接数据库有更深入的了解。

下面是一个简单的DLINQ代码:获得 pubs 数据库 authors 表的所有作者的 au_id 信息。

using System;
using System.Linq;
using System.Data.Linq;  // 这个命名空间在单独的组件 System.Data.Linq.dll 中

public class DLinqTest
{
    public static void DoSomeThing()
    {
        // 链接字符串       
        string connectionString = "Data Source=192.168.5.2;Initial Catalog=pubs;Persist Security Info=True;User ID=sa;Password=******";

        // 我们就是通过使用 DataContext  来 DLINQ链接数据库的。
        DataContext db = new DataContext(connectionString);
        Table<Authors> authors = db.GetTable<Authors>();
        var users = from a in authors orderby a.au_id select a;
        foreach (var a in users)
        {
            Console.WriteLine(a.au_id);
        }
    }
}

// 数据库中的表结构影射的实体对象,注意其中的 Attribute.

[Table(Name = "authors")]
public class Authors
{
    [Column(IsPrimaryKey = true)]
    public string au_id { get; set; }
    [Column]
    public string au_lname { get; set; }
    [Column]
    public string au_fname { get; set; }
    [Column]
    public string phone { get; set; }
    [Column]
    public string city { get; set; }
    [Column]
    public string state { get; set; }
    [Column]
    public string zip { get; set; }
    [Column]
    public bool contract { get; set; }
}

DLINQ 链接到数据库的步骤:

1、创建数据表跟实体对应的实体类(字段和元素可以不一一对应),并把这个类标上Table 特性,根数据表字段有关的元素标上Column特性;

2、使用 DataContext 和数据库链接字符串建立跟数据库的链接,然后使用 DataContext  的实例的 GetTable 方法获得对应表影射的实体类。

XLINQ 访问 XML 文件的方法

XLINQ 的例子我们就写稍稍复杂点,通过获得我(蝈蝈俊)博客的RSS,然后把RSS中的链接和标题打印出来:

下面就是这个功能的演示代码:

using System;
using System.Linq;
using System.Xml.Linq;

public class XLINQ
{
    public static void DoSomeThing()
    {
        XElement feed = XElement.Load("http://blog.joycode.com/ghj/Rss.aspx");
        if (feed.Element("channel") == null)
            return;

        var rss = from item in feed.Element("channel").Elements("item")
                  select new
                  {
                      title = item.Element("title").Value,
                      link = item.Element("link").Value
                  };
        foreach (var item in rss)
        {
            Console.WriteLine(item.link);
            Console.WriteLine(item.title);
            Console.WriteLine("*****");
        }
    }
}

XLINQ 加载数据的核心就在于 XElement.Load

另外,上述代码中使用了匿名类型,不知道大家还记不得我前几篇博客设计到的这个知识点。

上一篇:C程序实现汉字内码与GB码 人气:7158
下一篇:c#调用oracle存储过程返回结果集及函数 人气:7181
浏览全部C# 3.0的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐