如何在dataGridview里面的组合框中获取值并放入我的SQL Select Query?

问题描述 投票:0回答:1

我想得到组合框调用dcourse的值,把它放在我的Sql选择查询中,但它不起作用。这是我的代码

     DataTable dt = new DataTable();

     dt.Columns.Add("ID", typeof(int));
     dgEdit.DataSource = dt;

     DataGridViewComboBoxColumn dcourse = new DataGridViewComboBoxColumn();
     dcourse.HeaderText = "Course";
     dcourse.Items.Add("AT (Automotive Technology)");
     dcourse.Items.Add("CPT (Computer Technology)");
     dcourse.Items.Add("ELT (Electrical Technology)");
     dcourse.Items.Add("ICT (Instrumentation and Control Technology)");

     dgEdit.Columns.Add(dcourse);

     DataGridViewComboBoxColumn dname = new DataGridViewComboBoxColumn();
     dname.HeaderText = "Student Name";
     conn.Open();
     cmd = conn.CreateCommand();
     cmd.CommandType = CommandType.Text;
     cmd.CommandText = "Select Name from TBL_Student WHERE Course = '" + 
     dgEdit.CurrentRow.Cells[1].Value + "' ";
     DataTable dat = new DataTable();
     SqlDataAdapter dap = new SqlDataAdapter(cmd);
     dap.Fill(dat);
     foreach (DataRow dr in dat.Rows)
     {
        dname.Items.Add(dr["Name"].ToString());
     }
     conn.Close();
     dgEdit.Columns.Add(dname);

我得到这个弹出窗口和“dgEdit.CurrentRow.Cells1.Value”这应该是dcourse

this is the error

c# sql
1个回答
-1
投票

我现在可以选择我想要的单元格,但现在它不会返回任何数据

     DataGridViewComboBoxColumn dname = new DataGridViewComboBoxColumn();
            dname.HeaderText = "Student Name";
            conn.Open();
            for(int i = 0; i < dgEdit.Rows.Count; i++)
            {
            SqlCommand cmmd = conn.CreateCommand();
            cmmd.CommandType = CommandType.Text;
            cmmd.CommandText = "SELECT Name FROM TBL_Student WHERE Course = '" + dgEdit.Rows[i].Cells[1].FormattedValue + "' ";
            DataTable dat = new DataTable();
            SqlDataAdapter dap = new SqlDataAdapter(cmmd);
            dap.Fill(dat);
                foreach (DataRow dr in dat.Rows)
                {
                    dname.Items.Add(dr["Name"].ToString());
                }
            }
            conn.Close();
            dgEdit.Columns.Add(dname);
© www.soinside.com 2019 - 2024. All rights reserved.