Как получить данные по моему поиску в сетке - PullRequest
1 голос
/ 13 мая 2011

В текстовом поле я должен ввести строку, которая будет искать в таблице. если данные найдены в любом из 3 столбцов, данные будут показаны в виде таблицы. 3 столбца - это заголовок, описание и ключевые слова. Если флажок title chk установлен, он будет искать по заголовку, а если проверено ключевое слово, то будет искать его если какой-либо из флажков не установлен, он не будет искать в определенном столбце. У меня есть 2 переключателя, также нужно выбрать один из них. Если щелкнуть и_radio, он будет искать данные в обоих столбцах, если щелкнет или будет щелкнуть, если найдены данные idf в любом из столбцов. долго ... Это должно быть сделано с помощью процедуры .. Какой код мне нужно написать при нажатии кнопки поиска для поиска данных в текстовом поле, а затем заполнить результат в сетке ХРАНИЛИЩАЯ ПРОЦЕДУРА я использовал

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

 ALTER Procedure [dbo].[sp_Normal_Search_Library]

 @title AS nvarchar(max), 
  @Description AS nvarchar(max), 
  @Keywords AS nvarchar(max),
 @Chk_title AS BIT ,
 @Chk_Description AS Bit ,
 @Chk_Keywords AS BIT,
 @RD_AND AS BIT,
 @RD_OR AS BIT


 AS 
if @RD_AND = 1 Begin 
    if @Chk_title = 1       
Begin       
Select title from server_des where title Like '%'+@title+'%' 
End     
if @Chk_Description=1   
    Begin   
    Select Description from server_des where Description  Like '%'+@Description+'%'
        End     
if @Chk_Keywords=1  
    Begin
        Select Keywords from server_des where Keywords Like '%'+@Keywords+'%'
        End     
if @Chk_title = 1 AND @Chk_Description = 1 
        Begin   
    Select title, Description from server_des where title Like '%'+ @title+'%' AND Description  Like '%'+@Description+'%'
        End 
    if @Chk_Description=1 AND @Chk_Keywords=1   
    Begin       
Select Description, Keywords from server_des where  Description  Like'%'+@Description+'%' AND  Keywords Like '%'+@Keywords+'%'  
    End 
    if @Chk_title=1 AND @Chk_Keywords=1
        Begin   
    Select title, Keywords from server_des where title Like'%'+@title+'%' AND Keywords Like'%'+@Keywords+'%'        
End     
if @Chk_title=1 AND @Description=1 AND @title=1     
    Begin       
Select title,Description, Keywords from server_des where title Like '%'+@title+'%'AND Description Like '%'+@Description+'%' AND Keywords Like '%' +@Keywords+'%'
        End     
 End    
ELSE IF @RD_OR=0    
Begin
if @Chk_title = 1   
    Begin       
Select title from server_des where title Like'%'+ @title+'%'    
    End     
if @Chk_Description=1       
Begin       
Select Description from server_des where Description  Like '%'+@Description+'%'
        End     
if @Chk_Keywords=1  
    Begin
        Select Keywords from server_des where Keywords Like '%'+@Keywords+'%'
        End     
if @Chk_title = 1 AND @Chk_Description = 1  
    Begin   
    Select title, Description from server_des where title Like '%'+ @title+'%' AND Description  Like '%'+@Description+'%'
        End     
if @Chk_Description=1 AND @Chk_Keywords=1       
Begin       
Select Description, Keywords from server_des where  Description  Like '%'+@Description+'%' AND  Keywords Like '%'+@Keywords+'%'     
    End 
    if @Chk_title=1 AND @Chk_Keywords=1
        Begin   
    Select title, Keywords from server_des where title Like '%'+@title+'%' AND Keywords Like '%'+@Keywords+'%'  
    End 
    if @Chk_title=1 AND @Description=1 AND @title=1     
    Begin   
    Select title, Description, Keywords from server_des where title Like'%'+@title+'%'AND  Description Like '%'+@Description+'%' AND Keywords Like '%' +@Keywords+'%'
        End 
     End

В бизнес-логике я создал метод:

 public DataTable Fillgrid(string title,string Description, string Keywords)
    {
    con.ConnectionString = ConfigurationManager.ConnectionStrings["LibrarySql"].ConnectionString;
    SqlCommand cmd = new SqlCommand();

    cmd.CommandText = "sp_Normal_Search_Library";
    cmd.CommandType = CommandType.StoredProcedure;
    //string query = "select * from Server_des";
    cmd.Parameters.AddWithValue("@title", title);
    cmd.Parameters.AddWithValue("@Description",Description);
    cmd.Parameters.AddWithValue("@Keywords",Keywords);
    cmd.Connection = con;
    SqlDataAdapter sda = new SqlDataAdapter(cmd);
    DataTable  dt = new DataTable();
    con.Open();
    sda.Fill(dt);


    return dt;

Теперь, как мне заполнить данные в сетке на моей веб-форме?

1 Ответ

0 голосов
/ 13 мая 2011

DataGrid.DataSource = Fillgrid("title","description","keyword"); DataGrid.Bind();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...