C# 将数据库中的3列合并到datagridview中的1列
是否可以将数据库中的3列合并为一列?我的数据库中有Lname、Fname和Mname,但我想在datagridview中将其显示为全名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
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();
}