嗨,大家好,我在绑定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/