2017-03-07 6 views
0

私は、挿入、削除、編集、検索オプションを使用してmdbファイルからデータを取得する簡単なASP.NETアプリケーションを作成しようとしています。ASP.NETでのGridviewの検索

グリッドビューとsqldatasourceをページに追加した後、私はGridviewタスクからデータソースを選択しました。そして私は編集を有効にして、そこから削除を有効にすることをチェックしました。挿入のために私はテキストボックスとボタンを追加しました。ボタンのためにこれを書いた。

OleDbConnection con= new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("App_Data\\veritabani.mdb")); 
con.Open(); 
string name= txtname.Text; 
string lname= txtlname.Text; 
string idno= txtidno.Text; 
string job= jobbox.SelectedItem.ToString(); 
string age= txtage.Text; 
OleDbCommand add= new OleDbCommand("INSERT INTO Tablo1(name, lname, idno, job, age) values ('" + name + "','" + lname+ "','" + idno + "','" + job+ "','" + age+ "')", con); 
int check= add.ExecuteNonQuery(); 
if (check> 0) 
    lblInfo.Text = "<font color=green>Successfull</font>"; 
else 
    lblInfo.Text = "<font color=red>Unsuccessfull.</font>"; 
con.Close(); 
con.Dispose(); 

挿入が正常に動作します。しかし、私は検索ボタンを作成することはできません。検索ボタンには何が書いてありますか?私はこれを書いたが、私は仕事をしなかった。私はAJAXを使用したくない

OleDbConnection con= new OleDbConnection(); 
     OleDbCommand komut = new OleDbCommand(); 
     komut.Connection = con; 
     komut.CommandText = "SELECT * FROM Tablo1 WHERE name LIKE '%" + namesearch.Text + "%'"; 
     OleDbDataAdapter da = new OleDbDataAdapter(komut); 
     DataTable dt = new DataTable(); 
     da.Fill(dt); 
     GridView1.DataSource = dt; 
     GridView1.DataBind(); 

、DevExpress社など

答えて

1

ASPX

<asp:TextBox ID="Text1" runat="server" ToolTip="Search"></asp:TextBox> 
<asp:Button ID="Button1" runat="server" Text="Search" onclick="Button1_Click" ToolTip="Search" /> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:LocalSqlServer %>" 
       SelectCommand="SELECT * FROM [ Tablo1]" 
       FilterExpression="name LIKE '%{0}%'"> 
       <FilterParameters> 
        <asp:ControlParameter Name="name" ControlID="Text1" PropertyName="Text" /> 
       </FilterParameters> 
    </asp:SqlDataSource> 

CS

protected void Button1_Click(object sender, EventArgs e) 
    { 
      GridView1.DataBind(); 
    } 
1
FilterExpression="name +' '+ lname LIKE '%{0}%'" 
+0

それは働きますしかし、lastnameテキストボックスが空の場合、それは動作しません。入力した値で検索します。 (両方または1つだけ) – esege

+1

SqlDataSource1で 'CancelSelectOnNullParameter =" false "'を設定します.ContactParameter 'ConvertEmptyStringToNull =" false "' – Shady