MadMyche
Существует несколько проблем с вашим кодом.
Прежде всего, ваш код имеет Уязвимость SQL-инъекции.
Вы должны NEVER EVER
создайте запрос, объединив команды и переменные вместе. правильная вещь, чтобы сделать это, чтобы использовать Параметр SQL[^] коллекция для добавления переменных в команду.
Этот кусок кода должен выглядеть примерно так
SqlCommand cmd = new SqlCommand("SELECT Paid FROM Pay WHERE StdId=@StdId", con);
cmd.Parameters.AddWithValue("@StdId", editstdlbl.Text);
Вторая часть-это то, ради чего вы пришли сюда; вы получаете только последнюю ценность. Ну, проблема в том, что вы читаете только одно значение; и то, что вам нужно сделать, это пройти через все значения.
Как правило, это делается с помощью
WHILE
блок, использующий значение из
Читатель.Читать() в качестве условия
while (reader.Read()) {
// get values and assign to variables
}
Но в вашем случае; каждый раз, когда запись продвигается, все, что вы собираетесь сделать, это перезаписать значение, которое вы установили на предыдущей записи.
К сожалению, Ваш вопрос не содержит достаточно подробных сведений о том, что вы на самом деле пытаетесь сделать с этой информацией, поэтому я не могу сказать вам, какими будут ваши следующие шаги, чтобы добраться туда, куда вы хотите пойти.
У меня есть идеи о том, что вы можете хотеть, некоторые из которых ведут вас по правильному пути, а другие-по неправильному.
Рекомендации:
MS Docs => класс SqlParameter[
^]
MS Docs => класс SqlDataReader[
^]
Rajaa Khalifeh
большое спасибо за ваш ответ, моя идея заключается в том, что платный столбец в базе данных имеет более 1 значения, поэтому мне нужно получить все значения для этого идентификатора и заменить их в метке, так что через некоторое время что я могу сделать
Rajaa Khalifeh
да , мне нужно получить все эти значения для конкретного идентификатора и добавить их, чтобы собрать, и я очень благодарен вам за помощь, дорогая..
Rajaa Khalifeh
хорошо спасибо это работает но извините у меня есть еще один вопрос если вы можете мне помочь,
мне нужно удалить последнюю строку в sql я попробовал это сделать
SqlCommand cmd2 = new SqlCommand("удалить из Pay WHERE PayId = @id ORDER BY PayId DESC LIMIT 1", con);
cmd2.параметры.AddWithValue("@id", PayId.Текст);
cmd2.ExecuteNonQuery();// ошибка здесь (неправильный синтаксис рядом с ключевым словом 'order'.