2014年3月6日 星期四

[轉貼] 利用存儲過程實現模糊查詢

出處:http://www.oschina.net/code/snippet_222150_32766

1. [代碼]建表腳本     

01USE [TestDB]
02GO
03 
04/****** Object:  Table [dbo].[tblCustomer]    Script Date: 01/18/2014 22:01:53 ******/
05SET ANSI_NULLS ON
06GO
07 
08SET QUOTED_IDENTIFIER ON
09GO
10 
11CREATE TABLE [dbo].[tblCustomer](
12    [id] [int] IDENTITY(1,1) NOT NULL,
13    [name] [nvarchar](100) NULL,
14    [dat] [date] NULL
15) ON [PRIMARY]
16 
17GO

2. [文件] SearchCustomer.sql ~ 182B     下載(1)     

1CREATE PROCEDURE SearchCustomer
2    -- Add the parameters for the stored procedure here
3    @name nvarchar(100)
4 
5AS
6    SELECT FROM dbo.tblCustomer WHERE name LIKE '%'+@name+'%'
7GO

3. [代碼]模糊搜索代碼     跳至 [1] [2] [3] [全屏預覽]

01using (SqlConnection cn = newSqlConnection("Server=localhost;Database=TestDB;Trusted_Connection=True;"))
02{
03    cn.Open();
04    string str = "關鍵字";
05    //str = null;
06    SqlCommand cmd = new SqlCommand("SearchCustomer", cn);
07    cmd.CommandType = CommandType.StoredProcedure;
08    DataTable dt = new DataTable();
09    SqlDataAdapter da = new SqlDataAdapter(cmd);
10    da.SelectCommand.Parameters.Add("@name", SqlDbType.NVarChar).Value = str;
11    da.Fill(dt);
12    Debug.Assert(dt.Rows.Count > 0);
13    GridView1.DataSource=dt;
14    GridView1.Bind();
15    cn.Close();
16}

沒有留言:

張貼留言