Перейти к содержанию
Аватары ×
Форум на Кинопоиске

Языки программирования

Рекомендуемые сообщения

Обсуждаем различные языки программирования (делфи, паскаль...) и вопросы с ними связанные.

--

 

Собственно первый вопрос задам я :):

 

Нужно было создать приложение работающее с Базой Данных, чтобы там был поиск по телефону (строка ввода и кнопка, при нажатии которой открывается новая форма с результатами поиска).

 

Я создал, перепроверил - вроде бы всё правильно, ошибок не нашёл, но программа всё равно почему-то не хочет переходить на новую форму при нажатии на Кнопку поиска всплывает ошибка.

 

Ошибка:

e83da1aa8de2.png

Код кнопки поиска:

procedure TForm1.Button1Click(Sender: TObject);

begin

telephone:=Edit1.Text;

form1.adoQuery1.Active:=false; // делаем компонент запроса неактивным

form1.adoQuery1.parameters.ParamByName('telephone').Value:=Edit1.Text;

form1.adoQuery1.Active:=true; // делаем компонент активным

Form2.ShowModal; //для отображения результата используем форму

 

 

end;

 

Форма:

 

dc33fa0b289e.png

 

SQL:

 

2dbd0c40c035.png

Ссылка на комментарий
Поделиться на другие сайты

О боже!:ohmy: тему в топку! Дожились:redface:

Такой теме здесь вообще не место. Люди на форуме приходят расслабляться, а не обсуждать вот эту херь. Уж извините за кипеж...

Ссылка на комментарий
Поделиться на другие сайты

Dmitrius

Благодаря подобной фигне, скажу мягче, ты на этом форуме и расслабляешься. (только уже веб-программирование, ну неважно, суть-то понял, я думаю)

Ссылка на комментарий
Поделиться на другие сайты

Особо опасен,

Обычно такая ошибка возникает когда ты обращаешься к чему то несуществующему (форма не так названа, а ты обращаешься к ней так..).

Вполне возможно, что та форма которую ты вызываешь не прописана в uses у той формы с которой ты вызываешь её.. В архив проект засунь, посмотрим чего там у тебя не так.

 

Ps: узнаю М.Фленова

Ссылка на комментарий
Поделиться на другие сайты

А зачем открывать новую форму для результатов поиска? Фильтруй данные в имеющейся таблице.

 

Исключение говорит о том, что проблема не форме, а в запросе. Ругается на параметры.

При входе в Button1Click, как я понимаю, form1.adoQuery.SQL.text уже заполнен вон тем запросом? А почему столбец и таблица по-русски написаны - ты их так с русскими именами и создавал? Вообще это конечно извращение, лучше по-английски...

 

А еще лучше юзать C# :)

Изменено пользователем BlackTemplar
Ссылка на комментарий
Поделиться на другие сайты

когда ты обращаешься к чему то несуществующему (форма не так названа, а ты обращаешься к ней так..).

 

Дело в том, что насклько я помню, если в конпке есть только код перехода на другую форму без запроса на поиск, то переход нормально осуществляется

 

Вполне возможно, что та форма которую ты вызываешь не прописана в uses у той формы с которой ты вызываешь её.. В архив проект засунь, посмотрим чего там у тебя не так.

 

ой, ну это всё то я должен был нормально сделать :)

В архив проект засунь, посмотрим чего там у тебя не так.

ВОт оно http://depositfiles.com/files/zorum93m7

 

Запускать project1. В архиве почему-то не работат, так что придётся распаковать)

--

А зачем открывать новую форму для результатов поиска?

 

Так сказано в задании :), хотя действительно и так можно было сделать.))

 

Исключение говорит о том, что проблема не форме, а в запросе. Ругается на параметры.

При входе в Button1Click, как я понимаю, form1.adoQuery.SQL.text уже заполнен вон тем запросом? А почему столбец и таблица по-русски написаны - ты их так с русскими именами и создавал? Вообще это конечно извращение, лучше по-английски...

 

Ой, я в этом sql совсем не варю - программа что я написал не работает, но преподаватель сидел минут 15 и не смог разобраться в чём дело.

Ссылка на комментарий
Поделиться на другие сайты

del Изменено пользователем BlackTemplar
Ссылка на комментарий
Поделиться на другие сайты

йпть, ты в запросе обращаешься к таблице Справочник, который пустой почти и не содержит ничего, а тебе надо обращаться к таблице "Таблица1". Т.е перепиши запрос таким образом:

'SELECT *FROM Таблица1 WHERE Телефон Like:telephone'

Ссылка на комментарий
Поделиться на другие сайты

Справочник, который пустой почти и не содержит ничего

Там всего одна строчка, а столбца "телефон" по которому мы ищем и вовсе нет - вот и получается эксепшен, что нет параметра, по которому сработает запрос в бд.

Изменено пользователем BlackTemplar
Ссылка на комментарий
Поделиться на другие сайты

а вообще, вот так лучше написать, удали в AdoQuery текст запроса, и на баттон повесь этот код:

procedure TForm1.Button1Click(Sender: TObject);

begin

 

telephone:=Edit1.Text;

form1.adoQuery1.Active:=false; // делаем компонент запроса неактивным

form1.ADOQuery1.SQL.Text:='SELECT *FROM Таблица1 WHERE Телефон Like:telephone';

form1.ADOQuery1.Parameters.CreateParameter('telephone',ftInteger,pdInput,0,0);

form1.adoQuery1.parameters.ParamByName('teleрhone' ).Value:=Edit1.Text;

form1.adoQuery1.Active:=true; // делаем компонент активным

Form2.ShowModal; //для отображения результата используем форму

 

почему то пробел вставляет тут:

'teleph one',ftInteger,pdInput,0,0);
, его там не должно быть..
Ссылка на комментарий
Поделиться на другие сайты

а вообще, вот так лучше написать, удали в AdoQuery текст запроса, и на баттон повесь этот код:

Из AdoQuery удаляем.

Но запрос в SQL.Text прописывать и создавать параметр только один раз нужно, а в button1click по вышеприведенному коду это будет делаться каждый раз.

 

Я бы сделал так:

form1.ADOQuery1.Active:=False;
form1.ADOQuery1.SQL.text:='Select * From Таблица1 Where Телефон Like :telephone';
form1.ADOQuery1.Parameters.ParseSQL(form1.ADOQuery1.SQL.text, true);

Подготовка запроса отдельно, это должно выполняться только один раз. В обработчик события создания формы можно поместить, например.

Ну и по нажатию кнопки:

procedure TForm1.Button1Click(Sender: TObject);
begin
 form1.adoQuery1.Active:=false;
 form1.adoQuery1.parameters.ParamByName('telephone').Value:='%' + Edit1.Text + '%';
 form1.adoQuery1.Active:=true;
end;

Ну и затем выдергиваешь рез-ты запроса из этого adoQuery1 и делаешь с ними, что хочешь :)

Изменено пользователем BlackTemplar
Ссылка на комментарий
Поделиться на другие сайты

Юзайте Ассемблер, ага :D

 

Мое отношение к программированию варьируется в течение года (в зависимости от близости сессии и наличия предметов в сетке расписания) от - "ну что, нужно позаниматься, полезно же!" и до - "какого черта я пошла на факультет информатики?!". На данный момент довольно сильно недолюбливаю веб-программирование, так как ни C#, ни даже Бейсику нас отдельно не учили, однако все методички по предмету написаны именно на них! И разбирайтесь, как хотите ^^ А еще Microsoft Visual Studio 10 конечно красивый, но дюже глючный.

 

Извиняйте, что не совсем по теме вопроса, но зато по теме топика - наболело :D

Ссылка на комментарий
Поделиться на другие сайты

предлагаю отписаться, кто на чём кодит:rolleyes:

я и не подозревал, что у нас тут программеры водятся.

Что касается меня, то знаю Delphi, Php, C# учу по-тихоньку

Ссылка на комментарий
Поделиться на другие сайты

На Delphi забил примерно на 2ом курсе, когда начали ООП.

После этого в основном MS Visual C#. MS Visual C++, php редко - делали там какие-то лабы и все :) Ну и на Java приходилось писать несколько непростых програмок, но C# мне удобнее.

Ссылка на комментарий
Поделиться на другие сайты

4 года училась этой мутотени, наверное умею программировать, но старательно заставляю себя забыть это как страшный-перстрашный сон.

 

Стандартный набор навыков - ассемблер, С/С++, php.

Веб-программирование поинтереснее.

Java - со скрипом, но что-то помню.

 

Какое-то резюме, ей-богу.

Ссылка на комментарий
Поделиться на другие сайты

У нас вот самые важные и интересные вещи рассказали на 2 и 3 курсах.

Сейчас на 4ом, и я солидарен с Kisyulya - что-то всякой мутотени сильно прибавилось :D

Ссылка на комментарий
Поделиться на другие сайты

4 года училась этой мутотени, наверное умею программировать, но старательно заставляю себя забыть это как страшный-перстрашный сон.

 

Стандартный набор навыков - ассемблер, С/С++, php.

Веб-программирование поинтереснее.

Java - со скрипом, но что-то помню.

 

Какое-то резюме, ей-богу.

 

На 20 тысяч в месяц может быть со скрипом и потянет:) В Нерезиновке.

Ссылка на комментарий
Поделиться на другие сайты

На 20 тысяч в месяц может быть со скрипом и потянет:) В Нерезиновке.

 

Это предложение? ;)

 

Чтобы хорошо зарабатывать, будучи программистом, это надо блин либо уметь это делать быстро и не напрягаясь, либо иметь чугунную задницу и быть готовым тратить кучу времени на работу.

Ссылка на комментарий
Поделиться на другие сайты

Это предложение? ;)

 

Чтобы хорошо зарабатывать, будучи программистом, это надо блин либо уметь это делать быстро и не напрягаясь, либо иметь чугунную задницу и быть готовым тратить кучу времени на работу.

 

Чтобы хорошо зарабатывать будучи программистом, нужно хорошо программировать и не быть специалистом "обо всем и ни о чем":) Качественный java developer это 70 + тысяч, качественный web components developer - это 100+ тысяч рублей. Вполне себе средства, я щщитаю) Причем это если работать на дядю)

Ссылка на комментарий
Поделиться на другие сайты

Чтобы хорошо зарабатывать будучи программистом, нужно хорошо программировать и не быть специалистом "обо всем и ни о чем":) Качественный java developer это 70 + тысяч рублей, качественный web components developer - это 100+ тысяч рублей. Вполне себе средства, я щщитаю)

 

Ога ога, только попробуйте даже с нужными навыками это место получить ;)

 

К тому же понятие качества девелопера весьма и весьма неопределенные. Существует еще такая штука как специфика предприятий, которые подобные вакансии выбрасывают и многое, многое другое.

 

Став "качественным" специалистом на одном месте не факт, что на аналогичное устроишься на те же самые 70+ или 100+, а повышать зарплату сотрудникам в соответствии с повышением их квалификации вообще не в чести у наших руководителей.

 

Я к тому, что все это не просто, а вообще чтобы зарабатывать нормальные средства в любой области надо быть хорошим специалистом не "обо всем и не о чем".

 

 

зы Да, устройство на высокооплачеваемую должность программиста это мое больное место.

Ссылка на комментарий
Поделиться на другие сайты

и быть готовым тратить кучу времени на работу.

 

Как и на любую другую работу. Она такая.

Ссылка на комментарий
Поделиться на другие сайты

Как и на любую другую работу. Она такая.

 

Мой опыт подсказывает, что ненормированность рабочего дня у программистов повышенная.

Ссылка на комментарий
Поделиться на другие сайты

Мой опыт подсказывает, что ненормированность рабочего дня у программистов повышенная.

 

Эммм...

Чтобы хорошо зарабатывать,

Любая работа становится ненормированной.

 

Если "просто" зарабатывать, то возможно.

Ссылка на комментарий
Поделиться на другие сайты

Эммм...

 

Любая работа становится ненормированной.

 

Если "просто" зарабатывать, то возможно.

 

Мы сейчас вроде исключительно про то, чтобы программировать и хорошо (не за нищебродскую зарплату) зарабатывать.

 

Чтобы ХОРОШО зарабатывать, в смысле ездить на лехусе, это надо уже руководящие должности рассматривать, не совсем то.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Сейчас на странице   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...