教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

一步一步学Linq to sql(5)

来源:网络收集 时间:2026-09-07
导读: 管理员回复: 后台代码: public partial class Admin : System.Web.UI.Page { GuestBookDataContext ctx = new GuestBookDataContext(\); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBac

管理员回复:

后台代码:

public partial class Admin : System.Web.UI.Page { GuestBookDataContext ctx = new GuestBookDataContext(\); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SetBind(); } } private void SetBind() { rpt_Message.DataSource = from gb in ctx.tbGuestBooks orderby gb.PostTime descending select gb; rpt_Message.DataBind(); } protected void rpt_Message_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == \) { StreamWriter sw = new StreamWriter(Server.MapPath(\), true); ctx.Log = sw; tbGuestBook gb = ctx.tbGuestBooks.Single(b => b.ID == new Guid(e.CommandArgument.ToString())); ctx.tbGuestBooks.Remove(gb); ctx.SubmitChanges(); SetBind(); sw.Close(); } if (e.CommandName == \) { StreamWriter sw = new StreamWriter(Server.MapPath(\), true); ctx.Log = sw; tbGuestBook gb = ctx.tbGuestBooks.Single(b => b.ID == new Guid(e.CommandArgument.ToString())); gb.Reply = ((TextBox)e.Item.FindControl(\)).Text; gb.IsReplied = true; ctx.SubmitChanges(); SetBind(); sw.Close(); } } }

运行效果如下图:

在这里,我们通过Single方法获取一条记录,也就是一个tbGuestBook实例,更新了一些属性后保存也就完成了改这

个操作。删除操作更简单,只需要从表中移除对象。你是不是觉得好像不是在操作数据库,像在操作内存中的对象。

由于写了日志,看看改和删操作会是怎么样的SQL?

UPDATE [dbo].[tbGuestBook] SET [IsReplied] = @p4, [Reply] = @p5 WHERE ([ID] = @p0) AND ([UserName] = @p1) AND ([PostTime] = @p2) AND ([Message] = @p3) AND (NOT ([IsReplied] = 1)) AND ([Reply] IS NULL) -- @p0: Input Guid (Size = 0; Prec = 0; Scale = 0) [00000000-0000-0000-0000-000000000000] -- @p1: Input String (Size = 4; Prec = 0; Scale = 0) [ghgh] -- @p2: Input DateTime (Size = 0; Prec = 0; Scale = 0) [2007-8-16 10:20:09] -- @p3: Input String (Size = 3; Prec = 0; Scale = 0) [ghj] -- @p4: Input Boolean (Size = 0; Prec = 0; Scale = 0) [True] -- @p5: Input String (Size = 3; Prec = 0; Scale = 0) [qqq] -- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.20706.1 DELETE FROM [dbo].[tbGuestBook] WHERE ([ID] = @p0) AND ([UserName] = @p1) AND ([PostTime] = @p2) AND ([Message] = @p3) AND (NOT ([IsReplied] = 1)) AND ([Reply] = @p4) -- @p0: Input Guid (Size = 0; Prec = 0; Scale = 0) [158ec941-13ff-4093-bd8b-9fceae152171] -- @p1: Input String (Size = 2; Prec = 0; Scale = 0) [44] -- @p2: Input DateTime (Size = 0; Prec = 0; Scale = 0) [2007-8-16 9:56:19] -- @p3: Input String (Size = 2; Prec = 0; Scale = 0) [44] -- @p4: Input String (Size = 3; Prec = 0; Scale = 0) [222] -- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.20706.1 一步一步学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] 描述:查询职员的姓名和雇用年份 查询句法: var 构建匿名类型2 = from emp in ctx.Employees select new { 姓名 = emp.LastName + emp.FirstName, 雇用年 = emp.HireDate.Value.Year }; 对应SQL: SELECT [t0].[LastName] + [t0].[FirstName] AS [value], DATEPART(Year, [t0].[HireDate]) AS [value2] FROM [dbo].[Employees] AS [t0] 描述:查询顾客的ID以及联系信息(职位和联系人) 查询句法: var 构建匿名类型3 = from c in ctx.Customers select new { ID = c.CustomerID, 联系信息 = new { 职位 = c.ContactTitle, 联系人 = c.ContactName } }; 对应SQL: SELECT [t0].[CustomerID], [t0].[ContactTitle], [t0].[ContactName] FROM [dbo].[Customers] AS [t0] 描述:查询订单号和订单是否超重的信息 查询句法: var select带条件 = from o in ctx.Orders select new {

…… 此处隐藏:1340字,全部文档内容请下载后查看。喜欢就下载吧 ……
一步一步学Linq to sql(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/596912.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)