繁体   English   中英

通过比较列表中的数据从sql表中提取数据

[英]Extracting data from sql table by comparing data from a List

我有一个IDS列表,在LIST(C#)中说1,2,4,6,我需要做的是从表Connections中提取与这些IDS相对应的数据

在此处输入图片说明

我的清单代码如下:

string str = "SELECT id1 FROM [Example] WHERE id2 = '1' UNION SELECT id2 FROM Example WHERE id1 = '1'";
            ds = new DataSet(str);
            da = new SqlDataAdapter(str, con);
            da.Fill(ds);
            //GridView1.DataSource = ds;
            //GridView1.DataBind();
            DataTable dtDetails = ds.Tables[0];
            List<int> lst =
                                (from dr in dtDetails.AsEnumerable()
                                 select Convert.ToInt32(dr["id1"])).ToList<int>();

上面的代码所做的是在列表中检索2 3 4 6的否

我想做的是检索对应于这些no的id2就是这样吗?

编辑:

 string str = "SELECT id1 FROM [Example] WHERE id2 = '1' UNION SELECT id2 FROM Example WHERE id1 = '1'";
        ds = new DataSet(str);
        da = new SqlDataAdapter(str, con);
        da.Fill(ds);
        DataTable dtDetails = ds.Tables[0];
        List<int> lst =
                            (from dr in dtDetails.AsEnumerable()
                             select Convert.ToInt32(dr["id1"])).ToList<int>();

        foreach (int prime in lst) // Loop through List with foreach
        {

             str1 = " SELECT id2 FROM [Connections] where id2= '"+prime+"'";
            SqlCommand cmd1 = new SqlCommand(str1, con);
            cmd1.ExecuteNonQuery();
            DataSet ds1 = new DataSet();
            SqlDataAdapter da1 = new SqlDataAdapter(str1, con);
            da1.Fill(ds1);
            GridView1.DataSource = ds1;
            GridView1.DataBind();

        }

我的gridview没有显示任何内容

尝试这个!

从示例WHERE id2 IN中选择SELECT ID2(从[示例] WHERE ID2 ='1'中选择SELECT ID1从示例WHERE ID1 ='1'中选择联合ID2)

您可以做的是将IN用作选择的一部分。 因此,发送到SQL Server的select语句可能是:

SELECT * FROM [Connections]其中id1 IN(1、2、4、6)

在伪代码中,这将是:

字符串列表=“ 1、2、4、6”; 字符串str1 =“ SELECT * FROM [Connections] where id1 IN(” + list +“)”;

当然,在您的代码中,您将根据ID列表构造列表

暂无
暂无

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

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