• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

我们将共同携手迎接你的到来!


新的一年
新的开始
新的目标
新的收获

kevin 愛戀 20140103

博客园          联系   管理     
2010年6月1日
ASP.NET 2.0 AJAX中Webservice调用方法
摘要: ASP.NET 2.0 Ajax中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例。笔者安装的ASP.NET 2.0 AJAX版本为AJAX November CTP。三个示例分别为:1 带参数的WS方法2 不带参数的WS方法3 参数类型为DataTable的WS方法一、WebMethod注意要点:1 WebMethod类需要添加命名空间 Microsoft.Web.... 阅读全文
posted @ 2010-06-01 13:54 kevin_20131022 阅读(274) 评论(0) 推荐(0)
Linq to sql(一):预备知识
摘要: 什么是Linq to sql Linq to sql(或者叫DLINQ)是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能,它和Linq to xml、Linq to objects、Linq to dataset、Linq to entities等组成了强大的LINQ。 要学好LINQ查询语法,就不得不先理解... 阅读全文
posted @ 2010-06-01 13:52 kevin_20131022 阅读(255) 评论(0) 推荐(0)
Linq to sql(一):预备知识(二)
摘要: 对象初始化器 public class Person { public string username { get; set; } public int age { get; set; } public override string ToString() { return string.Format("username:{0} age:{1}", this.username, this.ag... 阅读全文
posted @ 2010-06-01 13:51 kevin_20131022 阅读(212) 评论(0) 推荐(0)
Linq to sql(二):DataContext与实体(一)
摘要: DataContext DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。 DataContext提供了以下一些使用的功能:l 以日志形式记录DataContext生成的SQLl 执行SQL(包括查询和更新语句)l 创建和删除数据库DataContext是实体和数据... 阅读全文
posted @ 2010-06-01 13:50 kevin_20131022 阅读(372) 评论(0) 推荐(0)
Linq to sql(二):DataContext与实体(二)
摘要: 强类型DataContextpublic partial class NorthwindDataContext : DataContext{ public Table<Customer> Customers; public NorthwindDataContext(IDbConnection connection) : base(connection) { } public North... 阅读全文
posted @ 2010-06-01 13:49 kevin_20131022 阅读(212) 评论(0) 推荐(0)
Linq to sql(二):DataContext与实体(三)
摘要: 执行查询NorthwindDataContext ctx = new NorthwindDataContext("server=xxx;database=Northwind;uid=xxx;pwd=xxx");string newcity = "Shanghai";ctx.ExecuteCommand("update Customers set City={0} where CustomerID ... 阅读全文
posted @ 2010-06-01 13:48 kevin_20131022 阅读(250) 评论(0) 推荐(1)
Linq to sql(三):增删改(一)
摘要: 示例数据库字段名字段类型允许空字段说明IDuniqueidentifier表主键字段UserNamevarchar(50)留言用户名PostTimedatetime留言时间Messagevarchar(400)√留言内容IsRepliedbit留言是否回复Replyvarchar(400)√留言管理员回复 在数据库中创建一个名为GuestBook的数据库,在里面创建一个tb... 阅读全文
posted @ 2010-06-01 13:47 kevin_20131022 阅读(216) 评论(0) 推荐(0)
Linq to sql(三):增删改(二)
摘要: 简易留言簿 现在,我们就可以使用Linq to sql完成简易留言簿了。实现以下功能:l 发表留言(增)l 查看留言(查)l 管理员回复留言(改)l 管理员删除留言(删除)首先,创建一个Default.aspx,在页面上加入一些控件:<div> 姓名 <asp:TextBox ID="tb_UserName" runat="server"></asp:TextBox... 阅读全文
posted @ 2010-06-01 13:46 kevin_20131022 阅读(230) 评论(0) 推荐(0)
Linq to sql(三):增删改(三)
摘要: 前面创建Linq to sql Classes的时候我们输入名字GuestBook,系统就为我们自动创建了GuestBookDataContext(你也可以在GuestBook.Designer.cs中找到类定义)。在绑定的时候我们使用查询句法查询留言表中所有留言,按照发表时间倒序(天哪?这是数据访问吗?好像仅仅定义了一句SQL啊)。在发表留言按钮中,我们为一个tbGuestBook赋值,然后把它... 阅读全文
posted @ 2010-06-01 13:45 kevin_20131022 阅读(221) 评论(0) 推荐(0)
Linq to sql(三):增删改(四)
摘要: 运行效果如下图:在这里,我们通过Single方法获取一条记录,也就是一个tbGuestBook实例,更新了一些属性后保存也就完成了改这个操作。删除操作更简单,只需要从表中移除对象。你是不是觉得好像不是在操作数据库,像在操作内存中的对象。 由于写了日志,看看改和删操作会是怎么样的SQL?UPDATE [dbo].[tbGuestBook]SET [IsReplied] = @p4, [Reply] ... 阅读全文
posted @ 2010-06-01 13:44 kevin_20131022 阅读(175) 评论(0) 推荐(0)
Linq to sql(四):查询句法(一)
摘要: select描述:查询顾客的公司名、地址信息查询句法:var 构建匿名类型1 = from c in ctx.Customers select new { 公司名 = c.CompanyName, 地址 = c.Address };对应SQL:SELECT [t0].[CompanyName], [t0].[Address]FROM [dbo].[Customers] AS [t0] 描述:查询职... 阅读全文
posted @ 2010-06-01 13:41 kevin_20131022 阅读(260) 评论(0) 推荐(0)
Linq to sql(四):查询句法(二)
摘要: where描述:查询顾客的国家、城市和订单数信息,要求国家是法国并且订单数大于5查询句法:var 多条件 = from c in ctx.Customers where c.Country == "France" && c.Orders.Count > 5 select new { 国家 = c.Country, 城市 = c.City, 订单数 = c.Orders.Cou... 阅读全文
posted @ 2010-06-01 13:40 kevin_20131022 阅读(199) 评论(0) 推荐(0)
Linq to sql(四):查询句法(三)
摘要: 分页描述:按照每页10条记录,查询第二页的顾客查询句法:var 分页 = (from c in ctx.Customers select c).Skip(10).Take(10);对应SQL:SELECT TOP 10 [t1].[CustomerID], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].[Addr... 阅读全文
posted @ 2010-06-01 13:40 kevin_20131022 阅读(180) 评论(0) 推荐(0)
Linq to sql(四):查询句法(四)
摘要: 对应SQL:SELECT (CASE WHEN [t2].[value2] = 1 THEN @p1 ELSE @p2 END) AS [value], [t2].[value] AS [数量]FROM ( SELECT COUNT(*) AS [value], [t1].[value] AS [value2] FROM ( SELECT (CASE WHEN [t0].[Freight]... 阅读全文
posted @ 2010-06-01 13:39 kevin_20131022 阅读(197) 评论(0) 推荐(0)
Linq to sql(四):查询句法(五)
摘要: 取相交项描述:查询城市是A打头的顾客和城市包含A的顾客的交集,并按照顾客名字排序查询句法:var 取相交项 = (from c in ctx.Customers where c.City.Contains("A") select c).Intersect (from c in ctx.Customers where c.ContactName.StartsWith("A") select c).O... 阅读全文
posted @ 2010-06-01 13:38 kevin_20131022 阅读(221) 评论(0) 推荐(0)
Linq to sql(四):查询句法(六)
摘要: in操作描述:查询指定城市中的客户查询句法: var in操作 = from c in ctx.Customers where new string[] { "Brandenburg", "Cowes", "Stavern" }.Contains(c.City) select c;对应SQL: SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[... 阅读全文
posted @ 2010-06-01 13:37 kevin_20131022 阅读(212) 评论(0) 推荐(0)
Linq to sql(五):存储过程(一)
摘要: 普通存储过程 首先在查询分析器运行下面的代码来创建一个存储过程:create proc sp_singleresultsetasset nocount onselect * from customers 然后打开IDE的服务器资源管理器,之前我们从表中拖动表到dbml设计视图,这次我们从存储过程中找到刚才创建的存储过程,然后拖动到设计视图。在方法面板中可以看到已经创建了一个sp_singlere... 阅读全文
posted @ 2010-06-01 13:35 kevin_20131022 阅读(205) 评论(0) 推荐(0)
Linq to sql(五):存储过程(二)
摘要: 带参数的存储过程 创建如下存储过程:create proc [dbo].[sp_withparameter]@customerid nchar(5),@rowcount int outputasset nocount onset @rowcount = (select count(*) from customers where customerid = @customerid) 使用同样的方法生成... 阅读全文
posted @ 2010-06-01 13:34 kevin_20131022 阅读(227) 评论(0) 推荐(0)
Linq to sql(五):存储过程(三)
摘要: 2010年05月11日 星期二 16:06多结果集的存储过程 再来创建一个多结果集的存储过程:create proc [dbo].[sp_multiresultset]asset nocount onselect * from customersselect * from employees 找到生成的存储过程方法:[Function(Name="dbo.sp_multiresultset")] ... 阅读全文
posted @ 2010-06-01 13:33 kevin_20131022 阅读(232) 评论(0) 推荐(0)
Linq to sql(五):存储过程(四)
摘要: 使用存储过程新增数据 存储过程除了可以直接调用之外,还可以用于实体的增删改操作。还记得在《一步一步学Linq to sql(三):增删改》中创建的留言簿程序吗?下面我们就来改造这个程序,使用存储过程而不是系统生成的SQL实现实体增删改。首先,我们创建下面的存储过程create proc sendmessage@username varchar(50),@message varchar(500)as... 阅读全文
posted @ 2010-06-01 13:32 kevin_20131022 阅读(247) 评论(0) 推荐(0)
Linq to sql(五):存储过程(五)
摘要: 使用存储过程删除数据 创建如下存储过程:create proc delmessage@id uniqueidentifierasdelete tbguestbook where id=@id 按照前面的步骤生成存储过程方法,并为删除操作执行这个存储过程方法。在选择参数的时候我们可以看到,ID分当前值和原始值,我们选择当前值即可,如下图: 无须改动任何逻辑代码,进行删除留言操作后可以跟踪到下面的SQ... 阅读全文
posted @ 2010-06-01 13:31 kevin_20131022 阅读(203) 评论(0) 推荐(0)
Linq to sql(五):存储过程(六)
摘要: 使用存储过程更改数据 创建如下存储过程:create proc replymessage@id uniqueidentifier,@reply varchar(500)asupdate tbguestbook set reply=@reply,isreplied=1 where id=@id 由于更新的时候并不会更新主键,所以我们可以为两个参数都指定当前值。回复留言后可以跟踪到下面的SQL:EXE... 阅读全文
posted @ 2010-06-01 13:30 kevin_20131022 阅读(193) 评论(0) 推荐(0)
Linq to sql(六):探究特性(一)
摘要: 延迟执行 IQueryable query = from c in ctx.Customers select c; 这样的查询句法不会导致语句立即执行,它仅仅是一个描述,对应一个SQL。仅仅在需要使用的时候才会执行语句,比如: IQueryable query = from c in ctx.Customers select c; foreach (Customer c in query) Res... 阅读全文
posted @ 2010-06-01 13:25 kevin_20131022 阅读(216) 评论(0) 推荐(0)
Linq to sql(六):探究特性(二)
摘要: DataLoadOptions var products = from p in ctx.Products select p; foreach (var p in products) { if (p.UnitPrice > 10) ShowDetail(p.Order_Details); } private void ShowDetail(EntitySet<Order_Detail... 阅读全文
posted @ 2010-06-01 13:24 kevin_20131022 阅读(169) 评论(0) 推荐(0)
Linq to sql(六):探究特性(三)
摘要: DataLoadOptions var products = from p in ctx.Products select p; foreach (var p in products) { if (p.UnitPrice > 10) ShowDetail(p.Order_Details); } private void ShowDetail(EntitySet<Order_Detail... 阅读全文
posted @ 2010-06-01 13:24 kevin_20131022 阅读(144) 评论(0) 推荐(0)
Linq to sql(六):探究特性(四)
摘要: 主键缓存 Linq to sql对查询过的对象进行缓存,之后的如果只根据主键查询一条记录的话会直接从缓存中读取。比如下面的代码: Customer c1 = ctx.Customers.Single(customer => customer.CustomerID == "ANATR"); c1.ContactName = "zhuye"; Customer c2 = ctx.Customer... 阅读全文
posted @ 2010-06-01 13:23 kevin_20131022 阅读(202) 评论(0) 推荐(0)
Linq to sql(七):并发与事务(一)
摘要: 检测并发 首先使用下面的SQL语句查询数据库的产品表:select * from products where categoryid=1 查询结果如下图: 为了看起来清晰,我已经事先把所有分类为1产品的价格和库存修改为相同值了。然后执行下面的程序: var query = from p in ctx.Products where p.CategoryID == 1 select p; foreac... 阅读全文
posted @ 2010-06-01 13:22 kevin_20131022 阅读(233) 评论(0) 推荐(0)
Linq to sql(七):并发与事务(二)
摘要: 解决并发 如果你希望自己处理并发的话可以把前面对列的定义修改先改回来,看下面的例子: var query = from p in ctx.Products where p.CategoryID == 1 select p; foreach (var p in query) p.UnitsInStock = Convert.ToInt16(p.UnitsInStock - 1); try { ctx... 阅读全文
posted @ 2010-06-01 13:21 kevin_20131022 阅读(211) 评论(0) 推荐(0)
Linq to sql(七):并发与事务(三)
摘要: 事务处理 Linq to sql在提交更新的时候默认会创建事务,一部分修改发生错误的话其它修改也不会生效: ctx.Customers.Add(new Customer { CustomerID = "abcdf", CompanyName = "zhuye" }); ctx.Customers.Add(new Customer { CustomerID = "abcde", CompanyNam... 阅读全文
posted @ 2010-06-01 13:20 kevin_20131022 阅读(231) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(一)
摘要: 论坛表结构 为了演示继承与关系,我们创建一个论坛数据库,在数据库中创建三个表:1、 论坛版块分类表 dbo.Categories:字段名字段类型可空备注CategoryIDintnot nullidentity/主键CategoryNamevarchar(50)not null2、 论坛版块表 dbo.Boards:字段名字段类型可空备注BoardIDintnot nullidentity/主键B... 阅读全文
posted @ 2010-06-01 13:19 kevin_20131022 阅读(143) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(二)
摘要: 实体继承的定义 Linq to sql支持实体的单表继承,也就是基类和派生类都存储在一个表中。对于论坛来说,帖子有两种,一种是主题贴,一种是回复帖。那么,我们就先定义帖子基类:[Table(Name = "Topics")]public class Topic{ [Column(Name = "TopicID", DbType = "int identity", IsPrimaryKey = tr... 阅读全文
posted @ 2010-06-01 13:18 kevin_20131022 阅读(149) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(三)
摘要: 实体继承的使用 定义好继承的实体之后,我们就可以使用了。先是自定义一个DataContext吧:public partial class BBSContext : DataContext{ public Table<BoardCategory> BoardCategories; public Table<Board> Boards; public Table<Topi... 阅读全文
posted @ 2010-06-01 13:17 kevin_20131022 阅读(178) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(四)
摘要: 实体关系的定义比如我们的论坛分类表和论坛版块表之间就有关系,这种关系是1对多的关系。也就是说一个论坛分类可能有多个论坛版块,这是很常见的。定义实体关系的优势在于,我们无须显式作连接操作就能处理关系表的条件。 首先来看看分类表的定义:[Table(Name = "Categories")]public class BoardCategory{ [Column(Name = "CategoryID",... 阅读全文
posted @ 2010-06-01 13:16 kevin_20131022 阅读(158) 评论(0) 推荐(0)
Linq to sql(八):继承与关系(五)
摘要: 实体关系的使用 好了,现在我们就可以在查询句法中直接关联表了(数据库中不一定要设置表的外键关系): Response.Write("-------------查询分类为1的版块-------------<br/>"); var query1 = from b in ctx.Boards where b.Category.CategoryID == 1 select b; foreach... 阅读全文
posted @ 2010-06-01 13:03 kevin_20131022 阅读(208) 评论(0) 推荐(0)
Linq to sql(九):其它补充(一)
摘要: 外部映射文件 我们可以使用sqlmetal命令行工具来生成外部映射文件,使用方法如下:1、开始菜单 -》 VS2008 -》VS工具 -》VS2008命令行提示2、输入命令:D:\Program Files\Microsoft Visual Studio 9.0\VC>sqlmetal /conn:server=xxx;database=Northwind;uid=xxx;pwd=xxx /... 阅读全文
posted @ 2010-06-01 13:01 kevin_20131022 阅读(144) 评论(0) 推荐(0)
Linq to sql(九):其它补充(二)
摘要: 已编译查询 对于一些在项目中经常被用到的查询可以封装成已编译查询,这样就能提高执行效率:static class Queries{ public static Func<NorthwindDataContext, string, IQueryable<Customer>> CustomersByCity = CompiledQuery.Compile((NorthwindD... 阅读全文
posted @ 2010-06-01 13:01 kevin_20131022 阅读(171) 评论(0) 推荐(0)
Linq to sql(九):其它补充(三)
摘要: 撤销提交 var customer = ctx.Customers.Single(c => c.CustomerID == "AROUT"); customer.ContactName = "zhuye"; customer.Country = "Shanghai"; Response.Write(string.Format("Name:{0},Country:{1}<br/>"... 阅读全文
posted @ 2010-06-01 12:59 kevin_20131022 阅读(209) 评论(0) 推荐(0)
Linq to sql(十):分层构架的例子(二)
摘要: 编写数据访问服务 首先我们可以定义出留言簿数据访问服务的契约(接口),把如下的代码保存为IDataAccess.cs放在Contract类库项目中:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel;namespace Contract... 阅读全文
posted @ 2010-06-01 12:43 kevin_20131022 阅读(155) 评论(0) 推荐(0)
Linq to sql(十):分层构架的例子(三)
摘要: WCF服务端与客户端 打开Host项目中的Program.cs,使用下面的代码来实现WCF的服务端:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel;using Service;using Contract;namespace Hos... 阅读全文
posted @ 2010-06-01 12:02 kevin_20131022 阅读(234) 评论(0) 推荐(0)
几种js操作select控件的方法
摘要: 1判断select选项中 是否存在Value="paraValue"的Item 2向select选项中 加入一个Item 3从select选项中 删除一个Item 4删除select中选中的项 5修改select选项中 value="paraValue"的text为"paraText" 6设置select中text="paraText"的第一个Item为选中 7设置select中value="pa... 阅读全文
posted @ 2010-06-01 11:57 kevin_20131022 阅读(267) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3