【问题标题】:Merge 3 columns from database to 1 column in datagridview将数据库中的 3 列合并到 datagridview 中的 1 列
【发布时间】:2020-06-05 11:49:51
【问题描述】:

是否可以将数据库中的 3 列合并到 datagridview 中?我的数据库中有 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();
    }

【问题讨论】:

  • 您只需使用+ 运算符添加这些列
  • 你只需要像下面这样的连接字符串dataGridView1.Rows.Add(i, .. + dr[index_Of_Fname].ToString() + dr[index_Of_Mname ].ToString() + dr[index_Of_Lname].ToString() );
  • 了解如何连接多个字符串:docs.microsoft.com/en-us/dotnet/csharp/how-to/…
  • 谢谢,我会努力学习它是如何工作的

标签: c# sql-server winforms visual-studio-2010


【解决方案1】:

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

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

【讨论】:

  • 您好,我在datagridview中还有其他列,例如性别、地址等。是否可以只为其他字段添加另一个查询?
  • @heejin,您可以在同一个选择查询中指定所需的列。
  • 当我尝试在选择查询中指定另一列时出现错误
【解决方案2】:

你只需要像下面这样的连接字符串

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

【讨论】:

  • 这对我有用,但我怎样才能添加标点符号和空格,使它看起来像 Doe, John A. 而不是 DoeJohnA?
  • 随心所欲地连接空间。我已经更新了我的答案,请看一下。
【解决方案3】:
 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();
}

【讨论】:

    猜你喜欢
    • 2018-07-18
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    相关资源
    最近更新 更多