如何使用Gridview

时间:2017-05-09 09:22:26

标签: c# mysql webforms

我有一个webform,我可以在一个带有gridview的页面上显示mysql数据库中的数据。我在webform上放了一个Textbox,我想在数据库记录中搜索。

 string mysqlconnectionstring = "Server=server;Database=dataser;Uid=user;Pwd=passw;CharSet=utf8";
 MySqlConnection MyConnection = new MySqlConnection(mysqlconnectionstring);
 string query = "select * from Tools where NameofTool like '" + Search_txt.Text + "%'";
 MySqlDataAdapter da = new MySqlDataAdapter(query, MyConnection);
 DataSet ds = new DataSet();
 da.Fill(ds);
 GridView1_0.DataSource = ds;
 GridView1_0.DataBind();

所以,如果我理解从一开始就从数据源中提取所有数据的问题,然后我想给它进行搜索。当然,我可以解释它错了,抱歉。

因此,目标是从DataSource获取数据,使用GridView运行它,然后根据结果更新GridView。

谢谢:)

2 个答案:

答案 0 :(得分:0)

dt2.Rows.Clear();
cn.Open();
string comm = "SELECT * From Ansprechperson WHERE Name LIKE '%'+ @Firma + '%' AND KundenNr LIKE @KundenNr";
cmd = new SqlCeCommand(comm, cn);
cmd.Parameters.Add("@Firma", SqlDbType.NVarChar, 100).Value = editContactFilter.Text;
cmd.Parameters.Add("@KundenNr", SqlDbType.NVarChar, 100).Value = KundenNr;
using (adapt = new SqlCeDataAdapter(cmd))
{
     adapt.Fill(dt2);
}
dataGridView2.DataSource = dt2;
cn.Close();

这是一个对我有用的例子。请查看参数以使您的应用程序SQL注入安全。 Why Parameters protect you from SQL-Injection.

dt2是一个DataTable: DataTable dt2 = new DataTable();

答案 1 :(得分:-1)

理想的方法是从sql insdead中搜索精确数据,首先获取数据集中的所有数据,然后进行其他搜索。

请不要使用像

这样的内联查询
string query = "select * from Tools where NameofTool like '" + Search_txt.Text + "%'";

而是使用存储过程。这些内联查询很容易被SQL注入。

所以你的ans将是"创建一个带有filter参数的存储过程" 然后使用返回的数据绑定GridView。