我在绑定(bind) 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/