Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择DataSQL到DataGridView_C#_Datagridview_Sql Server 2012 - Fatal编程技术网

C# 选择DataSQL到DataGridView

C# 选择DataSQL到DataGridView,c#,datagridview,sql-server-2012,C#,Datagridview,Sql Server 2012,我尝试从表中绑定DataGridView private void BindGrid() { DataGridViewNatureCharge.DataSource = null; using (SqlConnection con = new SqlConnection(connstring)) { using (SqlCommand cmd = new SqlCommand("select * from Natur

我尝试从表中绑定DataGridView

private void BindGrid()
    {
        DataGridViewNatureCharge.DataSource = null;
        using (SqlConnection con = new SqlConnection(connstring))
        {
            using (SqlCommand cmd = new SqlCommand("select * from NatureCharge", con))
            {
                cmd.CommandType = CommandType.Text;
                using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
                {
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        DataGridViewNatureCharge.DataSource = dt;
                    }
                }
            }
        }
    }
但是我需要显示Nom Famille而不是Id,那么对select查询的修改是什么呢??? 从NatureCharge中选择*,其中Idfam=从Famile中选择NomFam

更新 在DatagridView的另一个单元格中创建的NomFam存在问题。 我需要把它添加到第三个单元格中。 从NatureCharge中选择n.IdNat、n.NomNat、f.NomFam n.IdFam=f.IdFam

DataGridView

//Set Columns Count
        DataGridViewNatureCharge.ColumnCount = 3;

        //Hide the last blank line
        DataGridViewNatureCharge.AllowUserToAddRows = false;

        //Add Columns
        DataGridViewNatureCharge.Columns[0].Name = "IdNat";
        DataGridViewNatureCharge.Columns[0].HeaderText = "N° Nature de Charge";
        DataGridViewNatureCharge.Columns[0].DataPropertyName = "IdNat";
        DataGridViewNatureCharge.Columns[0].Width = 100;

        DataGridViewNatureCharge.Columns[1].HeaderText = "Nom de Nature de Charge";
        DataGridViewNatureCharge.Columns[1].Name = "NomNat";
        DataGridViewNatureCharge.Columns[1].DataPropertyName = "NomNat";
        DataGridViewNatureCharge.Columns[1].Width = 150;

        DataGridViewNatureCharge.Columns[2].Name = "IdFam";
        DataGridViewNatureCharge.Columns[2].HeaderText = "Nom de Famille";
        DataGridViewNatureCharge.Columns[2].DataPropertyName = "IdFam";
        DataGridViewNatureCharge.Columns[2].Width = 100;

        DataGridViewCheckBoxColumn checkBoxColumn = new DataGridViewCheckBoxColumn();
        checkBoxColumn.HeaderText = "";
        checkBoxColumn.Width = 30;
        checkBoxColumn.Name = "checkBoxColumn";
        DataGridViewNatureCharge.Columns.Insert(0, checkBoxColumn);

为此使用SQL联接

SELECT A.NomFam, B.IdNat, B.NomNat FROM Famille A join NatureChange B on A.IdFam = B.IdFam

在querynothing中更改select顺序没有发生任何情况,结果相同,请参见upadet后的查询,我已经在表单中用名称和标题初始化datagridview我不确定您在问什么。但我想这就是问题所在:DataGridViewNatureCharge.Columns[2].DataPropertyName=IdFam;将其更改为DataGridViewNatureCharge.Columns[2]。DataPropertyName=NomFam。