Как получить различные строки из сравнения двух массивов?
Я хочу получить имена отсутствующих студентов из базы данных sql. У меня есть список, в котором я представил данные Rfid студента (что-то вроде 42 39 A0 11), я сохранил данные студента вместе с Rfid в базе данных как тип данных nvarchar(1500).
Используя текущий идентификатор студента в списке, я хочу получить имя отсутствующего студента в массиве.
Я использовал не в том состоянии, в котором, но я не был в состоянии восстановить
Затем я подумал о том, чтобы использовать циклы for для сопоставления get the students, ID которых не был в списке
Но все равно я теряю ценности и не получаю надлежащего удостоверения отсутствующего студента.
<pre> private void checkabst_Click(object sender, EventArgs e) { string[] present = new string[3]; string[] absent = new string[3]; string[] allstd = new string[3]; List<string> total = new List<string>(); using (SqlConnection con = new SqlConnection(cs)) { SqlCommand cmd = new SqlCommand("Select Rfid_Uid From Studetails", con); con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { total.add(sdr[0].ToString()); } allstd=total.toArray(); for(int i=0;i<listbox_present.Items.Count;i++) { present[i] = listbox_present.Items[i].ToString(); } bool isfound = false; for (int i = 0; i < 3; i++) { isfound = false; for (int j = 0; j < present.Length; j++) { if (allstd[i] == present[j]) { isfound = true; } } if (!isfound) { MessageBox.Show(allstd[i]); } }
Застрял здесь с последних нескольких дней.
Я получаю настоящее время, а также отсутствующие студенческие удостоверения в messagebox.
Что я уже пробовал:
Я попробовал это сделать, используя Concat массивов и удаление дубликатов, но это тоже не сработало.
[no name]
Я вижу, что вы ничего не храните в отсутствующем массиве.Следовательно, ваш первоначальный вопрос "я хочу получить отсутствующие имена студентов из базы данных sql" остается невыполненным.Во-вторых, пожалуйста, не используйте select query в строке.Это делает нас уязвимыми к SQL-инъекциям.пожалуйста, используйте параметризованный запрос.
Richard MacCutchan
Запрос не содержит никаких параметров.
Richard MacCutchan
Захватите все Rfid-номера в список. Для каждого числа, если оно существует в списке "настоящее", удалите его из списка. Когда этот цикл завершится, то у вас останется список отсутствующих студентов.