C# 将数据库中的3列合并到datagridview中的1列

C# 将数据库中的3列合并到datagridview中的1列,c#,sql-server,winforms,visual-studio-2010,C#,Sql Server,Winforms,Visual Studio 2010,是否可以将数据库中的3列合并为一列?我的数据库中有Lname、Fname和Mname,但我想在datagridview中将其显示为全名 public void LoadRecords() { int i = 0; dataGridView1.Rows.Clear(); cn.Open(); cm = new SqlCommand("SELECT * FROM Members", cn); dr = cm.Ex

是否可以将数据库中的3列合并为一列?我的数据库中有Lname、Fname和Mname,但我想在datagridview中将其显示为全名

public void LoadRecords()
    {
        int i = 0;
        dataGridView1.Rows.Clear();
        cn.Open();
        cm = new SqlCommand("SELECT * FROM Members", cn);
        dr = cm.ExecuteReader();
        while (dr.Read())
        {
            i += 1;
            dataGridView1.Rows.Add(i, dr[0].ToString(), dr[1].ToString(), dr[2].ToString(), dr[3].ToString(), dr[4].ToString(), dr[5].ToString(), dr[6].ToString());
        }
        dr.Close();
        cn.Close();
    }

您只需要像下面这样的concat字符串

var fullName = dr[index_Of_Fname].ToString() + ", " + dr[index_Of_Mname ].ToString() + " " + dr[index_Of_Lname].ToString();
dataGridView1.Rows.Add(i,  .., fullName,..);

您可以将其作为单个字段进行查询

"SELECT Fname + ' ' + MName + ' ' + LName as [Name], column2,column3 FROM Members"

您只需要使用
+
运算符添加这些列,或者只需要如下所示的concat字符串
datagridview 1.Rows.add(i,…+dr[index\u Of\u Fname].ToString()+dr[index\u Of\u Mname].ToString()+dr[index\u Of\u Lname].ToString()学习如何连接多个字符串:谢谢,我将尝试学习它的工作原理你好,我在datagridview中还有其他列,如性别、地址等。是否可以为其他字段添加另一个查询?@heejin,您可以在同一个select查询中指定所需的列。当我尝试在select查询中指定另一列时,出现了一个错误。这对我来说是可行的,但我如何添加标点和空格,使其看起来像Doe,John a。而不是DoeJohnA?concat,如您所愿使用空格。我已经更新了我的答案,请看一下。
 public void LoadRecords(){
    int i = 0;
    dataGridView1.Rows.Clear();
    cn.Open();
    cm = new SqlCommand("SELECT * FROM Members", cn);
    DataTable tbl = new DataTable();
    tbl.Load(cm.ExecuteReader());
    string fullName = tbl.Rows[0][1].ToString() + tbl.Rows[0][2].ToString();
    // 0 points to first row and for example full name exists in second and third column then you can add fullName to dataGridView as one
    dr.Close();
    cn.Close();
}