zoukankan
html css js c++ java
步步为营VS 2008 + .NET 3.5(8) DLINQ(LINQ to SQL)之面向对象的添加、查询、更新和删除
[索引页]
[源码下载]
步步为营VS 2008 + .NET 3.5(8) - DLINQ(LINQ to SQL)之面向对象的添加、查询、更新和删除
作者:
webabcd
介绍
以Northwind为
示例数据库
,DLINQ(LINQ to SQL)之完全面向对象的添加操作、查询操作、更新操作和删除操作
示例
Sample.aspx
<%
@ Page Language
=
"
C#
"
MasterPageFile
=
"
~/Site.master
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Sample.aspx.cs
"
Inherits
=
"
LINQ_DLINQ_Sample
"
Title
=
"
面向对象的添加、查询、更新和删除
"
%>
<
asp:Content
ID
="Content1"
ContentPlaceHolderID
="head"
runat
="Server"
>
</
asp:Content
>
<
asp:Content
ID
="Content2"
ContentPlaceHolderID
="ContentPlaceHolder1"
runat
="Server"
>
<
p
>
分类名称:
<
asp:TextBox
ID
="txtCategoryName"
runat
="server"
></
asp:TextBox
>
分类描述:
<
asp:TextBox
ID
="txtDescription"
runat
="server"
></
asp:TextBox
>
<
asp:Button
ID
="btnAdd"
runat
="server"
Text
="添加"
OnClick
="btnAdd_Click"
/>
</
p
>
<
asp:GridView
ID
="gvCategory"
runat
="server"
DataKeyNames
="CategoryID"
OnSelectedIndexChanged
="gvCategory_SelectedIndexChanged"
OnRowDeleting
="gvCategory_RowDeleting"
OnRowCancelingEdit
="gvCategory_RowCancelingEdit"
OnRowEditing
="gvCategory_RowEditing"
OnRowUpdating
="gvCategory_RowUpdating"
>
<
Columns
>
<
asp:CommandField
ShowSelectButton
="True"
ShowEditButton
="True"
ShowDeleteButton
="True"
>
</
asp:CommandField
>
</
Columns
>
</
asp:GridView
>
<
br
/>
<
asp:DetailsView
ID
="dvProduct"
runat
="server"
DataKeyNames
="ProductID"
>
</
asp:DetailsView
>
</
asp:Content
>
Sample.aspx.cs
using
System;
using
System.Data;
using
System.Configuration;
using
System.Collections;
using
System.Linq;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Xml.Linq;
using
DAL;
public
partial
class
LINQ_DLINQ_Sample : System.Web.UI.Page
{
//
实例化一个NorthwindDataContext(DataContext)
NorthwindDataContext _ctx
=
new
NorthwindDataContext();
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
Page.IsPostBack)
{
BindCategory();
}
}
private
void
BindCategory()
{
//
NorthwindDataContext对象的Category属性就是Category集合
var categories
=
_ctx.Categories;
gvCategory.DataSource
=
categories;
gvCategory.DataBind();
}
protected
void
btnAdd_Click(
object
sender, EventArgs e)
{
//
实例化一个Category
Categories c
=
new
Categories();
//
设置Category对象的相关属性
c.CategoryName
=
txtCategoryName.Text;
c.Description
=
txtDescription.Text;
//
使用NorthwindDataContext对象的InsertOnSubmit()方法添加Category对象
_ctx.Categories.InsertOnSubmit(c);
//
生成并执行相应的SQL命令
_ctx.SubmitChanges();
gvCategory.EditIndex
=
-
1
;
BindCategory();
}
protected
void
gvCategory_SelectedIndexChanged(
object
sender, EventArgs e)
{
//
使用查询语法获得Product集合
var products
=
from p
in
_ctx.Products
where p.Categories.CategoryID
==
(
int
)gvCategory.SelectedValue
select p;
dvProduct.DataSource
=
products;
dvProduct.DataBind();
}
protected
void
gvCategory_RowDeleting(
object
sender, GridViewDeleteEventArgs e)
{
//
使用Single查询操作符获取指定的Category对象
Categories category
=
_ctx.Categories.Single(c
=>
c.CategoryID
==
(
int
)gvCategory.DataKeys[e.RowIndex].Value);
//
使用DeleteOnSubmit()方法删除NorthwindDataContext对象的Category集合中的指定Category对象
_ctx.Categories.DeleteOnSubmit(category);
//
生成并执行相应的SQL命令
_ctx.SubmitChanges();
gvCategory.EditIndex
=
-
1
;
BindCategory();
}
protected
void
gvCategory_RowUpdating(
object
sender, GridViewUpdateEventArgs e)
{
//
使用查询语法和Single查询操作符获取指定的Category对象
Categories category
=
(from c
in
_ctx.Categories
where c.CategoryID
==
(
int
)gvCategory.DataKeys[e.RowIndex].Value
select c).Single();
//
设置Category对象的相关属性
category.CategoryName
=
((TextBox)gvCategory.Rows[e.RowIndex].Cells[
2
].Controls[
0
]).Text;
category.Description
=
((TextBox)gvCategory.Rows[e.RowIndex].Cells[
3
].Controls[
0
]).Text;
//
生成并执行相应的SQL命令
_ctx.SubmitChanges();
gvCategory.EditIndex
=
-
1
;
BindCategory();
}
protected
void
gvCategory_RowEditing(
object
sender, GridViewEditEventArgs e)
{
gvCategory.EditIndex
=
e.NewEditIndex;
BindCategory();
}
protected
void
gvCategory_RowCancelingEdit(
object
sender, GridViewCancelEditEventArgs e)
{
gvCategory.EditIndex
=
-
1
;
BindCategory();
}
}
OK
[源码下载]
查看全文
相关阅读:
iphone 越狱后 安装 pillow 报错 (未解决, 仅记录)
阿甘正传影评
聊聊“内卷”的本质
Django REST Framework: 使用cach_page和drf-extensions进行缓存
Python常用第三方库大全
Go 第三方库推荐:类型转换如此简单
Python 内置库:itertools
4 款 MySQL 调优工具
如何使用 asyncio 限制协程的并发数
Go 的json 解析标准库竟然存在这样的陷阱?
原文地址:https://www.cnblogs.com/webabcd/p/928353.html
最新文章
java高并发核心编程一-读书笔记
SpringCloud微服务和分布式实践-读书笔记
Spring揭秘-读书笔记
分布式中间件实战-笔记
设计模式就该这样学-读书笔记
kafka入门与实践-读书笔记
mkdocs生成的网站为何很慢
重新搞nginx
windows平台UI自动化测试
Redis与数据库之间的处理
热门文章
C#使用Windows API控制IE切换标签页TAB至某网址网页
EBR-TLV数据格式
CentOS 7.9 install EDA tools
JetBrains Kubernets 插件识别 Istio CRD 对象
pycharm 破解 激活 重置 30天
查看nginx的配置文件路径
python flask logging 配置后 启动异常 [Errno 13] Permission denied
windows 10 中使用 text2image 训练字库记录
常用的3500个汉字 免费 复制
安装pip的三种方式(老是忘)
Copyright © 2011-2022 走看看