[英]Searching a character in sql table and displaying all records in gridview that start with that character ASP.NET c#
美好的一天,我正在研究ASP.NET C#应用程序,该应用程序搜索sql表并将结果返回到gridview中。 我使用like运算符使它可以工作,但是我意识到,如果搜索一个字符,它将带回其中包含该字符的任何记录,而我想要的是如果我搜索一个字符,则我希望所有以该字符开头的记录。 它还应该允许我正常搜索,这是我之前所做的
//I have a connection manager class in my app code folder
SqlConnection connection = connectionManager.GetConnection();
SqlCommand myCommand = new SqlCommand();
myCommand.Connection = connection;
String str = "select PR_NAME_GN, PR_NAME_SURN, EVENT_PARISH, EVENT_YEAR, EVENT_TYPE, FS_IMAGE_ID from Jam01 where (PR_NAME_GN like '%' + @deceasedFirstName + '%' AND PR_NAME_SURN like '%' + @deceasedLastName + '%' AND EVENT_PARISH like '%' + @ParishOfDeath+ '%' AND EVENT_YEAR like '%' + @YearOfDeath+ '%' AND EVENT_TYPE like '%' + @TypeDeath+ '%' AND FS_IMAGE_ID like '%' + @ImgLocation+ '%')";
SqlCommand command = new SqlCommand(str, connection);
command.Parameters.Add("@deceasedFirstName", SqlDbType.NVarChar).Value = DeathFirstNametbox.Text;
command.Parameters.Add("@deceasedLastName", SqlDbType.NVarChar).Value = DeathLastNametbox.Text;
command.Parameters.Add("@ParishOfDeath", SqlDbType.NVarChar).Value = ParishoDeathtbox.Text;
command.Parameters.Add("@YearOfDeath", SqlDbType.NVarChar).Value = YearofDeathtbox.Text;
command.Parameters.Add("@TypeDeath", SqlDbType.NVarChar).Value = type_Death.Text;
command.Parameters.Add("@ImgLocation", SqlDbType.NVarChar).Value = "";
command.ExecuteNonQuery();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = command;
DataSet ds = new DataSet();
sda.Fill(ds, "PR_NAME_GN");
sda.Fill(ds, "PR_NAME_SURN");
sda.Fill(ds, "EVENT_PARISH");
sda.Fill(ds, "EVENT_YEAR");
sda.Fill(ds, "EVENT_TYPE");
sda.Fill(ds, "FS_IMAGE_ID");
GridView1.DataSource = ds;
GridView1.DataBind();
connection.Close();
我需要有关如何重新处理sql语句的建议。 我对此很陌生,所以请多多包涵。
删除LIKE
关键字之后的前导%
通配符,以便仅返回以指定值开头的值:
String str = "SELECT PR_NAME_GN, PR_NAME_SURN, EVENT_PARISH, EVENT_YEAR, EVENT_TYPE, FS_IMAGE_ID FROM Jam01 WHERE (PR_NAME_GN LIKE @deceasedFirstName + '%' AND PR_NAME_SURN LIKE @deceasedLastName + '%' AND EVENT_PARISH like @ParishOfDeath + '%' AND EVENT_YEAR LIKE @YearOfDeath+ '%' AND EVENT_TYPE LIKE @TypeDeath+ '%' AND FS_IMAGE_ID LIKE @ImgLocation + '%');";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.