c#.net+SQL2005 实现简单搜索
2010-01-08 10:37
218 查看
搜索函数
利用以上函数创建存储过程,提供3个参数查询条件
后台文件传入参数
USE [DATABASE] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE function [dbo].[search] (@Word nvarchar(max), @Phrase nvarchar(max)) returns smallint as begin if @Word is null or @Phrase is null return 0 DECLARE @BiggerWord VARCHAR(max) SELECT @BiggerWord = @Word + 'x' DECLARE @BiggerPhrase VARCHAR(max) SELECT @BiggerPhrase = REPLACE (@Phrase, @Word, @BiggerWord) RETURN LEN(@BiggerPhrase) - LEN(@Phrase) END
利用以上函数创建存储过程,提供3个参数查询条件
USE [DATABASE] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATR PROCEDURE [dbo].[SearchDog] ( @Word1 nVARCHAR(max)=null, @Word2 nVARCHAR(max)=null, @Word3 nVARCHAR(max)=null) AS DECLARE @Dog TABLE ( DogHead nvarchar(max), DogBody nVARCHAR(max), Rank INT) INSERT INTO @Dog SELECT DogHead, DogBody, 3 * dbo.search(@Word1, DogHead) + dbo.search(@Word1, DogBody) + 3 * dbo.search(@Word2, DogHead) + dbo.search(@Word2, DogBody) + 3 * dbo.search(@Word3, DogHead) + dbo.search(@Word3, DogBody) AS Rank FROM Dog ORDER BY Rank DESC SELECT DogHead, DogBody, Rank FROM @Dog WHERE Rank > 0 ORDER BY Rank DESC
后台文件传入参数
protected void Button1_Click(object sender, EventArgs e) { string MyConn = WebConfigurationManager.ConnectionStrings["Conn"].ConnectionString; SqlConnection Myconnection = new SqlConnection(MyConn); SqlCommand cmd = new SqlCommand("SearchDog", Myconnection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@Word1", SqlDbType.NVarChar, 50); cmd.Parameters.Add("@Word2", SqlDbType.NVarChar, 50); cmd.Parameters.Add("@Word3", SqlDbType.NVarChar, 50); cmd.Parameters["@Word1"].Value = TextBox1.Text; cmd.Parameters["@Word2"].Value = TextBox2.Text; cmd.Parameters["@Word3"].Value = TextBox3.Text; cmd.Connection.Open(); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); Adapter.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); cmd.Connection.Close(); }
相关文章推荐
- 蛙蛙推荐:用c#实现一个简单的分布式搜索
- 转:C#实现简单分布式搜索--------希望有时间能好好研究一下
- c#简单实现二维数组和二维数组列表List<>的转置
- Excel与XML相互转换 - C# 简单实现方案
- C#事件与委托简单实现
- 用C#实现实现简单的 Ping 的功能,用于测试网络是否已经联通
- c#实现简单的拖动功能
- 使用Tesseract (OCR)实现简单的验证码识别(C#)+窗体淡入淡出效果
- c# 实现简单浏览器
- 搜索二叉树应用——简单字典实现
- C#中利用正则表达式实现字符串搜索
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- C#实现简单获取及设置Session类
- C#实现线程池的简单示例
- 使用socket实现简单的客户端和服务端通信(C#语言)
- 使用Tesseract (OCR)实现简单的验证码识别(C#)+窗体淡入淡出效果
- C#实现计算年龄的简单方法汇总
- C#中简单索引器的实现
- C#简单实现office转pdf、pdf转图片
- [C#]简单XP菜单的实现(一)