使用多行文本框作为查询条件来填充DataGridView

时间:2017-01-30 17:57:26

标签: c# sql oracle loops datagridview

这是我在StackOverflow中的第二个问题,这就是我遇到的问题

我想循环多行文本框中的每个值并将其作为查询条件传递,然后使用结果填充我的DataGridView(多个结果)。

问题是。我无法从文本框中传递超过1个值。我可以正确执行查询,但它没有正确循环,因为它只显示我的数据网格中第一个值的结果,我想要文本框中每一行的数据(结果)

我的代码是

        for (int i = 0; i < textBox1.Lines.Length; i++)
        {
            Connect();
            OracleCommand cmd = new OracleCommand();
            OracleDataAdapter adapter = new OracleDataAdapter();
            DataTable dt = new DataTable();
            cmd = new OracleCommand(OraSql + OraSql2 + orasql3 + OraSql4, con);
            adapter = new OracleDataAdapter(cmd);
            cmd.ExecuteNonQuery();
            adapter.Fill(dt);
            foreach (DataRow row in dt.Rows)
            {

                    dataGridView1.Rows.Add
                    (
                        row[0].ToString(),
                        row[1].ToString(),
                        row[2].ToString(),
                        row[3].ToString(),
                        row[4].ToString(),
                        row[5].ToString()
                    );

            }


        }

我希望我在这里正确解释自己 谢谢!

这是我的查询

            string OraSql = @"SELECT   r.ixkitl ""Parent Part Number"",
         r.ixlitm ""Component Part Number"",
         i.imdsc1 ""Description"",
         SUM((r.ixqnty/10000)) ""Qty per Harness"",
         To_date(r.ixefff+1900000, 'YYYYDDD') ""Effective From Date"",
         To_date(r.ixefft+1900000, 'YYYYDDD') ""Effective Thru Date"",
         r.ixtbm ""Bill Type"",
         r.ixmmcu ""Branch Plt""
FROM     proddta.f3002 r,
         proddta.f4101 i";

            string OraSql2 = @"
WHERE    (i.imlitm IN '" + textBoxX1.Text.ToString() + "'AND      i.imitm = r.ixkit)";
            string orasql3 = @"
            AND      (r.ixmmcu = '        3320' AND      r.ixtbm = 'M  ')";

            string OraSql4 = @"
AND      r.ixefff <= (to_char(SYSDATE, 'YYYYDDD')-1900000)
AND      r.ixefft >= (to_char(SYSDATE, 'YYYYDDD')-1900000)
GROUP BY r.ixkitl,
         r.ixlitm,
         r.ixqnty,
         r.ixtbm,
         r.ixmmcu,
         r.ixefff,
         r.ixefft,
         i.imdsc1
ORDER BY r.ixkitl,
         r.ixlitm";

0 个答案:

没有答案