在两个列号之间搜索



我想在我的webform中验证我有1个文本框,我想搜索数字,如果我搜索的数字在我的2列的2个数字的范围之间,我想显示我的表的行数据。

select * from SSPRequest where StartingSeries = '" + TxtSearch.Text + "' BETWEEN EndingSeries= '"+TxtSearch2.Text+"'"

放下一个网格视图,然后输入如下代码:

protected void cmdSearch_Click(object sender, EventArgs e)
{
string strSQL = "select * from SSPRequest where StartingSeries >= @Start " +
" AND EndingSeries <= @End";
using (SqlConnection conn = new SqlConnection(Properties.Settings.Default.TEST3))
{
using (SqlCommand cmdSQL = new SqlCommand(strSQL, conn))
{
cmdSQL.Parameters.Add("@Start", SqlDbType.Int).Value = txtSearch.Text;
cmdSQL.Parameters.Add("@End", SqlDbType.Int).Value = txtSearch2.Text;
conn.Open();
GridView1.DataSource = cmdSQL.ExecuteReader();
GridView1.DataBind();
}
}
}

所以无论sql匹配什么,都会显示网格。你的标记可以这样写:

Enter Start Number: 
<asp:TextBox ID="txtSearch" runat="server" Style="width:25px;padding-right:25px"></asp:TextBox>
Enter End Number: 
<asp:TextBox ID="txtSearch2" runat="server" Style="width:25px;padding-right:25px"></asp:TextBox>
<asp:Button ID="cmdSearch" runat="server" Text="Search" style="padding-left:25px;" CssClass="btn" OnClick="cmdSearch_Click" />
<br />
<br />
<asp:GridView ID="GridView1" runat="server"></asp:GridView>

看着你的sql张贴,它似乎有点不靠谱,没有意义。我会启动sql studio,用两个范围值手动编写sql代码,并使sql工作,然后并且只有在那时我才会尝试上面的代码。

所以在你写一行代码之前先得到一个工作的sql语句。

最新更新