Вопрос № 122792: Уважаемые эксперты!!
Есть база в MSSQL 2000, как вывести
количество записей в базе в поле редактирования Edit1
в Дельфи 7. Как создать запрос к базе я знаю
QueryString := 'select count(*) from tema where tema.Id_kurs = '+inttost...
Вопрос № 122.792
Уважаемые эксперты!!
Есть база в MSSQL 2000, как вывести
количество записей в базе в поле редактирования Edit1
в Дельфи 7. Как создать запрос к базе я знаю
QueryString := 'select count(*) from tema where tema.Id_kurs = '+inttostr(adoQkurs['id_kurs']);
adoqtema.SQL.Clear;
adoqtema.SQL.Add(QueryString);
adoqtema.Active := true;
Но где брать результат запроса, я не знаю.
Зараннее спасибо.
Отправлен: 12.02.2008, 12:50
Вопрос задал: Osa87 (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: din
Здравствуйте, Osa87!
Чуть упростим
adoqtema.Active := False;
adoqtema.SQL.Text := 'select count(*) from tema where tema.Id_kurs = '+inttostr(adoQkurs['id_kurs']);
adoqtema.Active := true;
// количество записей
Edit1.Text := IntToStr(adoqtema.RecordCount);
Удачи!
--------- Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Специалист)
Ответ отправлен: 12.02.2008, 13:07 Оценка за ответ: 4 Комментарий оценки: Спасибо за оперативность, если я делаю такой запрос, то выдается , если в заросе убрать count(*), то все работает. Мне бы хотелось получить результат запроса с count(*). А если мне нужна сумма все полей по какому-то полю, что тогда?
Отвечает: Delph
Здравствуйте, Osa87!
Если я правильно понял, Вам нужно быстро посчитать число строк в таблице, удовлетворяющих условию, и отобразить сие в программе. Вот как я бы это сделал:
adoqtema.Active := False;
adoqtema.SQL.Text := 'select count(имя_поля) AS F_Count from tema where tema.Id_kurs = '+inttostr(adoQkurs['id_kurs']);
adoqtema.Active := True;
Edit1.Text := adoqtema.FieldByName('F_Count').AsString;
--------- Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 12.02.2008, 13:18 Оценка за ответ: 5 Комментарий оценки: Спасибо большое, это то что надо!
Отвечает: Zubex
Здравствуйте, Osa87!
С Вашим запросом в едит можно вставить следующим образом:
Edit1.Text:=adoqtema.Fields[0].AsString;
Удачи!
--------- Если не знаешь что сказать - лучше промолчи...
Ответ отправил: Zubex (статус: 7-ой класс)
Ответ отправлен: 13.02.2008, 00:03 Оценка за ответ: 4 Комментарий оценки: Спасибо за ответ!