06 2010 档案
Linq group by
摘要:1.简单形式:var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:Linq使用Group By按CategoryID划分产品。说明:from p in db.Products 表示从表中将产品对象取出来。group p by p.CategoryID into g表示对p按CategoryID字段归...
阅读全文
百度与google 搜索引擎的查找方式
摘要:baidu与google 搜索引擎明显的不同,真晕!不知道 百度 是以什么为搜索关键点的?难道是金钱............ 悲剧google 我看了至少是以文章或者什么关键字准确无误的查找出来。而 百度 呢 是不给钱就不出来,还是怎么回事,不解! 中国的百度 不要让我们失望啊!
阅读全文
javascript 延时显示层 DEMO
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->无标题文档 div格式自己调,这里放想放的内容 id为NewsPic0div格式自己调,这里放想...
阅读全文
Excel 导入数据库
摘要:default.aspx.csusing System.Data.OleDb;using System.mySQLConnection;using System.Data.SqlClient;public DataSet ExecleDs(string filenameurl,string tabl...
阅读全文
几个漂亮的 button 样式
摘要:<style> .btn { BORDER-RIGHT: #7b9ebd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #7b9ebd 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 12px; FILTER: progid:DXImageTransform.Microsoft.Gradient(Gradient...
阅读全文
Ajax 的格式
摘要:var XMLHTTP; function createXMLHttpRequest() //创建AJAX { if(window.ActiveXObject) { XMLHTTP=new ActiveXObject("Microsoft.XMLHTTP"); ...
阅读全文
C# 后台代码实现数据回滚
摘要:以下是几句关键语句 SqlConnection con=""; SqlTransaction tran = con.BeginTransaction; SqlCommand cmd = new SqlCommand(); cmd.Transaction = tran; tran.Commit(); ...
阅读全文
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....
阅读全文
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查询语法,就不得不先理解...
阅读全文
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...
阅读全文
Linq to sql(二):DataContext与实体(一)
摘要:DataContext DataContext类型(数据上下文)是System.Data.Linq命名空间下的重要类型,用于把查询句法翻译成SQL语句,以及把数据从数据库返回给调用方和把实体的修改写入数据库。 DataContext提供了以下一些使用的功能:l 以日志形式记录DataContext生成的SQLl 执行SQL(包括查询和更新语句)l 创建和删除数据库DataContext是实体和数据...
阅读全文
Linq to sql(二):DataContext与实体(二)
摘要:强类型DataContextpublic partial class NorthwindDataContext : DataContext{ public Table<Customer> Customers; public NorthwindDataContext(IDbConnection connection) : base(connection) { } public North...
阅读全文
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 ...
阅读全文
Linq to sql(三):增删改(一)
摘要:示例数据库字段名字段类型允许空字段说明IDuniqueidentifier表主键字段UserNamevarchar(50)留言用户名PostTimedatetime留言时间Messagevarchar(400)√留言内容IsRepliedbit留言是否回复Replyvarchar(400)√留言管理员回复 在数据库中创建一个名为GuestBook的数据库,在里面创建一个tb...
阅读全文
Linq to sql(三):增删改(二)
摘要:简易留言簿 现在,我们就可以使用Linq to sql完成简易留言簿了。实现以下功能:l 发表留言(增)l 查看留言(查)l 管理员回复留言(改)l 管理员删除留言(删除)首先,创建一个Default.aspx,在页面上加入一些控件:<div> 姓名 <asp:TextBox ID="tb_UserName" runat="server"></asp:TextBox...
阅读全文
Linq to sql(三):增删改(三)
摘要:前面创建Linq to sql Classes的时候我们输入名字GuestBook,系统就为我们自动创建了GuestBookDataContext(你也可以在GuestBook.Designer.cs中找到类定义)。在绑定的时候我们使用查询句法查询留言表中所有留言,按照发表时间倒序(天哪?这是数据访问吗?好像仅仅定义了一句SQL啊)。在发表留言按钮中,我们为一个tbGuestBook赋值,然后把它...
阅读全文
Linq to sql(三):增删改(四)
摘要:运行效果如下图:在这里,我们通过Single方法获取一条记录,也就是一个tbGuestBook实例,更新了一些属性后保存也就完成了改这个操作。删除操作更简单,只需要从表中移除对象。你是不是觉得好像不是在操作数据库,像在操作内存中的对象。 由于写了日志,看看改和删操作会是怎么样的SQL?UPDATE [dbo].[tbGuestBook]SET [IsReplied] = @p4, [Reply] ...
阅读全文
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] 描述:查询职...
阅读全文
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...
阅读全文
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...
阅读全文
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]...
阅读全文
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...
阅读全文
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].[...
阅读全文
Linq to sql(五):存储过程(一)
摘要:普通存储过程 首先在查询分析器运行下面的代码来创建一个存储过程:create proc sp_singleresultsetasset nocount onselect * from customers 然后打开IDE的服务器资源管理器,之前我们从表中拖动表到dbml设计视图,这次我们从存储过程中找到刚才创建的存储过程,然后拖动到设计视图。在方法面板中可以看到已经创建了一个sp_singlere...
阅读全文
Linq to sql(五):存储过程(二)
摘要:带参数的存储过程 创建如下存储过程:create proc [dbo].[sp_withparameter]@customerid nchar(5),@rowcount int outputasset nocount onset @rowcount = (select count(*) from customers where customerid = @customerid) 使用同样的方法生成...
阅读全文
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")] ...
阅读全文
Linq to sql(五):存储过程(四)
摘要:使用存储过程新增数据 存储过程除了可以直接调用之外,还可以用于实体的增删改操作。还记得在《一步一步学Linq to sql(三):增删改》中创建的留言簿程序吗?下面我们就来改造这个程序,使用存储过程而不是系统生成的SQL实现实体增删改。首先,我们创建下面的存储过程create proc sendmessage@username varchar(50),@message varchar(500)as...
阅读全文
Linq to sql(五):存储过程(五)
摘要:使用存储过程删除数据 创建如下存储过程:create proc delmessage@id uniqueidentifierasdelete tbguestbook where id=@id 按照前面的步骤生成存储过程方法,并为删除操作执行这个存储过程方法。在选择参数的时候我们可以看到,ID分当前值和原始值,我们选择当前值即可,如下图: 无须改动任何逻辑代码,进行删除留言操作后可以跟踪到下面的SQ...
阅读全文
Linq to sql(五):存储过程(六)
摘要:使用存储过程更改数据 创建如下存储过程:create proc replymessage@id uniqueidentifier,@reply varchar(500)asupdate tbguestbook set reply=@reply,isreplied=1 where id=@id 由于更新的时候并不会更新主键,所以我们可以为两个参数都指定当前值。回复留言后可以跟踪到下面的SQL:EXE...
阅读全文
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...
阅读全文
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...
阅读全文
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...
阅读全文
Linq to sql(六):探究特性(四)
摘要:主键缓存 Linq to sql对查询过的对象进行缓存,之后的如果只根据主键查询一条记录的话会直接从缓存中读取。比如下面的代码: Customer c1 = ctx.Customers.Single(customer => customer.CustomerID == "ANATR"); c1.ContactName = "zhuye"; Customer c2 = ctx.Customer...
阅读全文
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...
阅读全文
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...
阅读全文
Linq to sql(七):并发与事务(三)
摘要:事务处理 Linq to sql在提交更新的时候默认会创建事务,一部分修改发生错误的话其它修改也不会生效: ctx.Customers.Add(new Customer { CustomerID = "abcdf", CompanyName = "zhuye" }); ctx.Customers.Add(new Customer { CustomerID = "abcde", CompanyNam...
阅读全文
Linq to sql(八):继承与关系(一)
摘要:论坛表结构 为了演示继承与关系,我们创建一个论坛数据库,在数据库中创建三个表:1、 论坛版块分类表 dbo.Categories:字段名字段类型可空备注CategoryIDintnot nullidentity/主键CategoryNamevarchar(50)not null2、 论坛版块表 dbo.Boards:字段名字段类型可空备注BoardIDintnot nullidentity/主键B...
阅读全文
Linq to sql(八):继承与关系(二)
摘要:实体继承的定义 Linq to sql支持实体的单表继承,也就是基类和派生类都存储在一个表中。对于论坛来说,帖子有两种,一种是主题贴,一种是回复帖。那么,我们就先定义帖子基类:[Table(Name = "Topics")]public class Topic{ [Column(Name = "TopicID", DbType = "int identity", IsPrimaryKey = tr...
阅读全文
Linq to sql(八):继承与关系(三)
摘要:实体继承的使用 定义好继承的实体之后,我们就可以使用了。先是自定义一个DataContext吧:public partial class BBSContext : DataContext{ public Table<BoardCategory> BoardCategories; public Table<Board> Boards; public Table<Topi...
阅读全文
Linq to sql(八):继承与关系(四)
摘要:实体关系的定义比如我们的论坛分类表和论坛版块表之间就有关系,这种关系是1对多的关系。也就是说一个论坛分类可能有多个论坛版块,这是很常见的。定义实体关系的优势在于,我们无须显式作连接操作就能处理关系表的条件。 首先来看看分类表的定义:[Table(Name = "Categories")]public class BoardCategory{ [Column(Name = "CategoryID",...
阅读全文
Linq to sql(八):继承与关系(五)
摘要:实体关系的使用 好了,现在我们就可以在查询句法中直接关联表了(数据库中不一定要设置表的外键关系): Response.Write("-------------查询分类为1的版块-------------<br/>"); var query1 = from b in ctx.Boards where b.Category.CategoryID == 1 select b; foreach...
阅读全文
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 /...
阅读全文
Linq to sql(九):其它补充(二)
摘要:已编译查询 对于一些在项目中经常被用到的查询可以封装成已编译查询,这样就能提高执行效率:static class Queries{ public static Func<NorthwindDataContext, string, IQueryable<Customer>> CustomersByCity = CompiledQuery.Compile((NorthwindD...
阅读全文
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/>"...
阅读全文
Linq to sql(十):分层构架的例子(二)
摘要:编写数据访问服务 首先我们可以定义出留言簿数据访问服务的契约(接口),把如下的代码保存为IDataAccess.cs放在Contract类库项目中:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ServiceModel;namespace Contract...
阅读全文
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...
阅读全文
几种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...
阅读全文
浙公网安备 33010602011771号