2017-03-07 70 views
0

我想做一个简单的ASP.NET应用程序,从插入,删除,编辑,搜索选项从mdb文件中绘制数据。在ASP.NET上Gridview搜索

当我在我的页面上添加Gridview和sqldatasource后,我从Gridview任务中选择了Datasource。我选中启用编辑,启用从那里删除。对于插入,我添加了一个文本框和一个按钮。对于我写的这个按钮。

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(); 

插入工作正常。但我无法创建搜索按钮。在我的搜索按钮上写什么?我写了这个,但我没有工作。

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(); 

我不希望使用AJAX,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

它工作但如果姓氏文本框为空,则不起作用。我希望它用输入的值进行搜索。 (两者或一个) – esege

+1

在SqlDataSource1 和ControlParameter'ConvertEmptyStringToNull =“false”上设置'CancelSelectOnNullParameter =“false”'' – Shady