【问题标题】:Searching between 2 column numbers在 2 个列号之间搜索
【发布时间】:2021-12-02 14:32:57
【问题描述】:

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

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

【问题讨论】:

  • 使用查询参数,否则你很容易受到 SQL 注入的攻击。更好的是,为什么不使用实体框架呢?
  • SqlCommand comm = new SqlCommand("select * from SSPRequest where StartingSeries = '" + TxtSearch.Text + "' BETWEEN EndingSeries= '"+TxtSearch2.Text+"'", con); SqlDataReader sdr = comm.ExecuteReader(); while (sdr.Read()) { TxtTicket.Text = sdr.GetValue(1).ToString(); }
  • 如果我搜索的号码在我想显示的那个号码的范围内找到记录

标签: c# sql asp.net


【解决方案1】:

好吧,放下一个网格视图,然后说有这个代码:

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 语句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-09
    • 1970-01-01
    相关资源
    最近更新 更多