繁体   English   中英

使用SQL Server查询从id为1位数或2位数的字符串中查找user_id

[英]Find a user_id from string where id is one digit or 2 digit using SQL Server query

这是我的C#代码

private DataTable bindTrainingAttendeedGridView(string condition)
{
    DataTable dtGrid = new DataTable();
    con.ConnectionString = constr;

    string query = "select training_id,CONVERT(varchar(10),training_date,101) AS Training_date,topic,trainee from tbl_training_attendee where 1=1 " + condition;

    SqlCommand cmd = new SqlCommand(query, con);
    SqlDataAdapter sqladapter = new SqlDataAdapter(cmd);
    sqladapter.Fill(dtGrid);

    if (dtGrid.Rows.Count <= 0)
    {
        Label1.Text = "No Matching Training taken Entries Found, Thank You.";
    }
    else
    {
        Label1.Text = "";
    }

    //con.Open();
    return dtGrid;
}

protected void TrainingAttendenceGridViewBind(string condition)
{
    try
    {
        TrainingAttendeedGridView.DataSource = bindTrainingAttendeedGridView(condition);
        TrainingAttendeedGridView.DataBind();
    }
    catch (Exception er)
    {
        throw er;
    }
}

protected void training_attendence_condition()
{
    string condition = "";

    if (UserDropDownList.SelectedIndex > 0)
    {
        condition += "AND PATINDEX('%61%',trainee)!=0 or(PATINDEX('%,61,%',trainee)!=0 and PATINDEX('%,61%',trainee)!=0 and PATINDEX('%61,%',trainee)!=0 ) 
    }

    TrainingAttendenceGridViewBind(condition);
}

training_attendence_condition ,我可以编写查询以获取该行的user_id ,但它只能显示两位数字记录,当取一位数字时,它可以返回第二位数字。 因此,请帮助获得一两位数字

在此处输入图片说明

试试这个SQL查询,不需要training_attendence_condition,你可以直接写给定的查询:

select training_id,CONVERT(varchar(10),training_date,101) AS Training_date,topic,trainee from tbl_training_attendee where CONCAT( ',',trainee,',') like CONCAT( '%,','61',',%' )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM