如何打印从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