linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增

本来linq是可以调用Sql语句来进行数据库的四步操作的,但是我对Sql语句写在类里面,非常反感,所以不打算写这个体会了,调用Sql语句的方法可以参看 webabcd步步为营VS 2008 + .NET 3.5(9) - DLINQ(LINQ to SQL)之执行SQL语句的添加、查询、更新和删除 这篇。
本篇,关注的是linq调用存储过程来完成数据库的四步操作( 查询,删除,更新,新增)。
数据库仍然是Northwind,数据源是表Customers
1). 首先创建一个网站,添加Linq to Sql类,名称为Northwind.dbml;
2). 打开Visual Studio的服务器资源管理器,选择数据连接-添加连接,引入Northwind数据库,展开,将Customers表拖到Northwind.dbml,这样就完成了创建Customers对象;
3). 创建 查询,删除,更新,新增 Customers 的存储过程,代码如下:
linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 1linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增---------------------------------------------------------------------------
 2linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Procedure Name: [dbo].[selCustomers]
 3linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Note               : get Customers
 4linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created By       : Tom
 5linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created Date    : 2008-5-28    
 6linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增---------------------------------------------------------------------------
 7linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增CREATE PROCEDURE [dbo].[selCustomers]
 8linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增(
 9linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @ncCoustomerID NVARCHAR(5= NULL,    
10linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcCountry NVARCHAR(15= NULL    
11linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增)
12linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    
13linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增AS
14linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    IF @ncCoustomerID IS NULL OR @ncCoustomerID = ''
15linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        SET @ncCoustomerID = NULL
16linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
17linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    IF @nvcCountry IS NULL OR @nvcCountry = ''
18linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        SET @nvcCountry = NULL
19linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
20linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    SELECT * 
21linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    FROM CUSTOMERS 
22linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    WHERE CUSTOMERID LIKE ISNULL(@ncCoustomerID'%'
23linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    AND    COUNTRY LIKE ISNULL(@nvcCountry'%')
24linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增RETURN

linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 1linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--------------------------------------------------------------------------
 2linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Procedure Name : [dbo].[delCustomers]
 3linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Note                : delete Customer
 4linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created By        : Tom
 5linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created Date     : 2008-5-28    
 6linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--------------------------------------------------------------------------
 7linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增CREATE PROCEDURE [dbo].[delCustomers]
 8linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增(
 9linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @ncCustomerID NCHAR(5)
10linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增)
11linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
12linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增AS
13linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    DELETE CUSTOMERS 
14linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    WHERE CUSTOMERID = @ncCUSTOMERID
15linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增RETURN

linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 1linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增---------------------------------------------------------------------------
 2linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Procedure Name : [dbo].[updCustomers]
 3linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Note                : modify Customer
 4linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created By        : Tom
 5linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created Date     : 2008-5-28    
 6linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增---------------------------------------------------------------------------
 7linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增CREATE PROCEDURE [dbo].[updCustomers]
 8linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增(
 9linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @ncCustomerID NCHAR(5),
10linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcCompanyName NVARCHAR(40),     
11linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcAddress NVARCHAR(60),
12linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @intReturnValue INT OUTPUT
13linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增)
14linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    
15linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增AS
16linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    --不返回受影响的行
17linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    SET NOCOUNT ON
18linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    
19linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    --更新指定的Customers
20linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    UPDATE CUSTOMERS
21linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    SET COMPANYNAME = @nvcCompanyName,
22linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        ADDRESS = @nvcAddress
23linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    WHERE CUSTOMERID = @ncCustomerID
24linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    
25linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    IF @@ERROR <> 0
26linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    BEGIN
27linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            --如果更新发生异常,返回-1
28linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            SET @intReturnValue = -1
29linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            RETURN
30linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    END
31linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    
32linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增RETURN
33linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增

linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 1linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增---------------------------------------------------------------------------
 2linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Procedure Name : [dbo].[insCustomers]
 3linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Note                : add Customer
 4linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created By        : Tom
 5linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增--Created Date     : 2008-5-28    
 6linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增---------------------------------------------------------------------------
 7linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增CREATE PROCEDURE [dbo].[insCustomers]
 8linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增(
 9linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @ncCustomerID NCHAR(5), 
10linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcCompanyName NVARCHAR(40), 
11linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcContactName NVARCHAR(30= NULL,
12linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcContactTitle NVARCHAR(30= NULL,
13linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcAddress NVARCHAR(60= NULL
14linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcCity NVARCHAR(15= NULL,
15linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcRegion NVARCHAR(15= NULL,
16linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcPostalCode NVARCHAR(10= NULL
17linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcCountry NVARCHAR(15= NULL
18linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcPhone NVARCHAR(24= NULL
19linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @nvcFax NVARCHAR(24= NULL,
20linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    @intReturnValue INT OUTPUT
21linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增)
22linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增AS
23linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    --新增Customers行
24linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    INSERT INTO [dbo].[CUSTOMERS]
25linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增           ([CUSTOMERID],
26linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [COMPANYNAME],
27linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [CONTACTNAME],
28linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [CONTACTTITLE],
29linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [ADDRESS],
30linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [CITY],
31linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [REGION],
32linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [POSTALCODE],
33linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [COUNTRY],
34linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [PHONE],
35linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            [FAX])
36linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增     VALUES
37linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增           (@ncCustomerID
38linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcCompanyName,  
39linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcContactName
40linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcContactTitle,
41linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcAddress,
42linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcCity,
43linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcRegion,
44linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcPostalCode,
45linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcCountry,
46linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcPhone,
47linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            @nvcFax)
48linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增     
49linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    IF @@ERROR <> 0
50linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    BEGIN
51linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            --如果更新发生异常,返回-1
52linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            SET @intReturnValue = -1
53linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            RETURN
54linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    END
55linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增RETURN
56linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增

4). 打开Visual Studio2008的服务器资源管理器,展开Northwind数据库的存储过程目录,将上叙四个存储过程依次拖入到打开的Northwind.dbml右侧方法区,查看引入的四个存储过程的属性,修改其Name名为"GetCustomers","DeleteCustomers","UpdateCustomers","InsertCustomers",如下图所示:
linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
5). 新建一个页面:LinqBySP.aspx,页面代码(只列出form部分)如下:
linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 1linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增<form id="form1" runat="server">
 2linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    <div>
 3linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        <h4>
 4linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            查询</h4>
 5linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        <table>
 6linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <tr>
 7linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
 8linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    Customer ID:
 9linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
10linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
11linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    <asp:DropDownList ID="drpCustomerID" runat="server">
12linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    </asp:DropDownList>
13linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
14linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
15linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    Country:
16linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
17linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
18linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    <asp:TextBox ID="txtCountry" runat="server">
19linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    </asp:TextBox>
20linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
21linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            </tr>
22linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <tr>            
23linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td colspan="2">
24linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    <asp:Button ID="btnSelect" runat="server" Text="Search" OnClick="btnSelect_Click" />
25linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
26linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" />
27linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    
28linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
29linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            </tr>
30linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        </table>
31linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    </div>
32linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    <div>
33linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        <h4>
34linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            新增</h4>
35linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        <table>
36linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <tr>
37linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
38linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    Customer ID:
39linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
40linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
41linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    <asp:TextBox ID="txtCustomerID" runat="server">
42linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    </asp:TextBox>
43linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
44linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            </tr>
45linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <tr>
46linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
47linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    Company Name:
48linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
49linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td>
50linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    <asp:TextBox ID="txtCompanyName" runat="server">
51linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    </asp:TextBox>
52linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
53linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            </tr>
54linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <tr>
55linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <td colspan="2">
56linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                    <asp:Button ID="btnAdd" runat="server" Text="Add" OnClick="btnAdd_Click" />
57linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                </td>
58linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            </tr>
59linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        </table>
60linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    </div>
61linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    <div>
62linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        <h4>
63linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            显示 更新 删除</h4>
64linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        <asp:GridView ID="gvSelLinQ" runat="server" AllowPaging="True" OnPageIndexChanging="gvSelLinq_PageIndexChanging"
65linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            OnRowDeleting="gvSelLinQ_RowDeleting" OnRowUpdating="gvSelLinQ_RowUpdating" BackColor="White"
66linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" OnRowEditing="gvSelLinQ_RowEditing"
67linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            OnRowCancelingEdit="gvSelLinQ_RowCancelingEdit" DataKeyNames="CustomerID">
68linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <PagerSettings Position="TopAndBottom" />
69linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
70linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <RowStyle BackColor="White" ForeColor="#003399" />
71linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <Columns>
72linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <asp:CommandField ShowEditButton="True" />
73linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                <asp:CommandField ShowDeleteButton="True" />
74linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            </Columns>
75linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
76linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
77linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
78linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        </asp:GridView>
79linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    </div>
80linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    </form>

后台代码,如下:
linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
  1linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增public partial class LinqBySP : System.Web.UI.Page
  2linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    {
  3linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <summary>
  4linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// Linq to Sql 类:Norwind DataContext 初始化
  5linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// </summary>

  6linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        NorthwindDataContext northwind = new NorthwindDataContext();        
  7linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        
  8linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <summary>
  9linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// 页面初始化
 10linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// </summary>
 11linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="sender"></param>
 12linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="e"></param>

 13linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        protected void Page_Load(object sender, EventArgs e)
 14linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        {
 15linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            if (!IsPostBack)
 16linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            {
 17linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                BindDDL();
 18linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增                BindGrid();
 19linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            }

 20linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        }

 21linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 22linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <summary>
 23linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// 绑定DropDownList
 24linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// </summary>

 25linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        private void BindDDL()
 26linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        {
 27linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            string customerID = string.Empty, country = string.Empty;
 28linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            var c = getCustomers(customerID, country).Select(t => t.CustomerID);           
 29linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            
 30linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            drpCustomerID.DataSource = c;
 31linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            drpCustomerID.DataBind();
 32linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 33linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            drpCustomerID.Items.Insert(0"");
 34linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        }

 35linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 36linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <summary>
 37linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// 绑定GridView
 38linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// </summary>

 39linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        private void BindGrid()
 40linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        {
 41linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            string customerID = string.Empty, country = string.Empty;
 42linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            customerID = drpCustomerID.SelectedValue.Trim();
 43linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            country = txtCountry.Text.Trim();
 44linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            var c = getCustomers(customerID, country);
 45linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            
 46linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            gvSelLinQ.DataSource = c;
 47linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            gvSelLinQ.DataBind(); 
 48linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        }

 49linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 50linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        private IEnumerable<Customers> getCustomers(string customerID, string country)
 51linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        {
 52linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            var c = northwind.GetCustomers(customerID, country);
 53linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            return (IEnumerable<Customers>)c;
 54linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        }

 55linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 56linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <summary>
 57linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// 根据指定的查询条件获取Customers实体集对象指定的实体
 58linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// </summary>
 59linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="sender"></param>
 60linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="e"></param>

 61linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        protected void btnSelect_Click(object sender, EventArgs e)
 62linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        {
 63linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            BindGrid();
 64linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        }

 65linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 66linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <summary>
 67linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// 撤销当前查询条件,页面初始化
 68linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// </summary>
 69linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="sender"></param>
 70linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="e"></param>

 71linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        protected void btnCancel_Click(object sender, EventArgs e)
 72linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        {
 73linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            //初始化当前查询条件
 74linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            drpCustomerID.SelectedValue = string.Empty;
 75linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            txtCountry.Text = string.Empty;
 76linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 77linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            //重新绑定GridView
 78linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            BindGrid(); 
 79linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        }
        
 80linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 81linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <summary>
 82linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// 新增Customers
 83linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// </summary>
 84linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="sender"></param>
 85linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        /// <param name="e"></param>

 86linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        protected void btnAdd_Click(object sender, EventArgs e)
 87linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        {
 88linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            //声明变量
 89linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            string customerID = string.Empty, companyname = string.Empty, contactname = string.Empty, contacttitle = string.Empty, address = string.Empty, city = string.Empty;
 90linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            string region = string.Empty, postalcode = string.Empty, country = string.Empty, phone = string.Empty, fax = string.Empty;
 91linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 92linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            //声明返回值
 93linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            int? returnValue = null;
 94linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 95linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            //获取新增的Customers实体的数据
 96linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            customerID = txtCustomerID.Text.Trim();
 97linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            companyname = txtCompanyName.Text.Trim();
 98linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
 99linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            //调用Linq to sql类的InsertCustomers方法来新增Customers实体
100linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            northwind.InsertCustomers(customerID, companyname, contactname, contacttitle, address, city, region, postalcode, country, phone, fax, ref returnValue);
101linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增              
102linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            //重新绑定DropDownList和GridView
103linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            BindDDL();
104linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增            BindGrid();
105linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        }

106linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增
107linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增        GridView 事件              
187linq学习笔记(2) -- 调用存储过程进行查询,删除,更新,新增    }


好了,到这里linq第二步,调用存储过程的四步基本操作完成,thx~
后记:在引入存储过程到dbml里面的时候,GetCustomer属性的【Return Type】一定要指明是"Customers",否则它会使用默认属性,有可能会发生问题

请使用指令“using System.Collections.Generic”。

你可能感兴趣的:(LINQ)