Что-то не хватает кода (я думаю). Я хочу показать идентификатор и имя студента в списке. Но я вижу это:Как распечатать 2 столбца из базы данных SQL Server
Я не могу понять проблемы, особенно с внутренним соединением.
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();
}
Не выполняйте свой запрос дважды - сначала с помощью команды 'command.ExecuteNonQuery()' (здесь это абсолютно бесполезно *, поскольку вы не вставляете и не удаляете что-либо), а затем второй раз с '.ExecuteReader()'. Вызовите ** только **, что действительно необходимо - здесь: 'ExecuteReader()', поскольку вы возвращаете набор результатов, который хотите перебрать. –
спасибо .. очень полезно :) –