嗨,大家好,我在绑定gridview时出错。我想使用SQL IN运算符从数据库中选择多个记录。请帮助我克服这个问题。

aspx.cs代码

    string codeId = "4,3,5,7";
    int[] result = codeId.Split(',').Select(int.Parse).ToArray();


    string Qry = "select CodeId,Code,AccountHead,Rate from AccountHeads Where CodeId IN " + result;         //Getting error here
    SqlDataAdapter adp = new SqlDataAdapter(Qry, con);
    DataTable dt = new DataTable();

    adp.Fill(dt);

    if (dt.Rows.Count > 0)
    {

        GridView1.DataSource = dt;
        GridView1.EmptyDataText = "no records founds";
        GridView1.DataBind();
        //Hide Gridview columns
        GridView1.Columns[0].Visible = false;

    }

最佳答案

您无需使用,拆分字符串,而使用IEnumerable.Select选择int值。

您已经有一个格式很好的IN clause字符串。您只需要像()这样使用值即可;

string Qry = string.Format(@"select CodeId,Code,AccountHead,Rate
                             from AccountHeads Where CodeId IN ({0})",
                             codeId);

关于c# - ASP.NET C#中的SQL IN运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28529209/

10-10 04:02