如何打印从SQL Server数据库中检索到的2列

代码丢失(我猜)。我想在列表框中显示学生ID和姓名。但是,我看到这一点:如何打印从SQL Server数据库中检索到的2列

我想不通的问题,尤其是与内部联接。

private void button1_Click(object sender, EventArgs e) 

{

string strName = "";

connect.Open();

SqlCommand command = new SqlCommand(" Select Student_tbl.StudentName, Student_tbl.StudentID, Module_tbl.ModuleID FROM[Course-Student] INNER JOIN Student_tbl ON [Course-Student].SID = Student_tbl.StudentID INNER JOIN Module_tbl ON[Course-Student].CID = Module_tbl.ModuleID WHERE(Module_tbl.ModuleID = '" + tbCourse.Text+"')",connect);

command.ExecuteNonQuery();

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())

{

strName = reader[1].ToString();

listBox1.Items.Add(strName);

}

connect.Close();

}

回答:

您正在打印只读取StudentID字段中的检索项。更改while循环如下检索两个字段并连接所有的值:

while (reader.Read()) 

{

var name = reader[0].ToString();

var id = reader[1].ToString();

listBox1.Items.Add(id + " " + name);

}

您也可以使用String Interpolation(这是string.Format C#6语法糖)是这样的:

while (reader.Read()) 

{

listBox1.Items.Add($"{reader[1].ToString()} {reader[0].ToString()}");

}

而且,对于sql语句:不要使用字符串连接来创建语句。这对SQL注入很敏感。改用Parameterized Queries

以上是 如何打印从SQL Server数据库中检索到的2列 的全部内容, 来源链接: utcz.com/qa/267172.html

回到顶部