Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144

Почему не работает код?

06.04.2011, 17:27. Показов 2448. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
for (int i=1;i<s-1;i++){
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("select Имя,Класс from 1 where Код="+i);
ADOQuery1->Active=True;
j[i]=DBEdit1->Text;
Memo1->Lines->Add(j[i]);
}
Пишет ошибку "Ошибочная инструкция SQL; предполагалось 'Delete','insert','SELECT' или 'Update'"
Почему?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2011, 17:27
Ответы с готовыми решениями:

Почему приведенный код работает один раз?
path=&quot;База\\Шаблон.mdb&quot;; TMemoryStream * T=new TMemoryStream(); T-&gt;LoadFromFile(path.c_str());

Почему данный код работает в builder 6 а в builder 10 не работает?
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) | WS_EX_LAYERED); SetLayeredWindowAttributes(Handle, 0, 128,...

Почему JPEGImage->Compress() работает в TTimer, но не работает в нитке
to: Модератор LK, да я согласен мы маленько отвлеклись :) но просто вопрос наболевший, не дает спать 2 дня уже: Почему в Таймере...

30
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 17:43
А что ты конкретно хочешь сделать?
0
 Аватар для Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
06.04.2011, 17:46  [ТС]
Я хочу выводить в поле Memo j[i];
А почему то пишет ошибку...
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 17:58
Ну во первых слово True пишется с маленькой буквы
0
Фрилансер
49 / 34 / 7
Регистрация: 12.01.2010
Сообщений: 186
Записей в блоге: 1
06.04.2011, 18:09
C++
1
2
3
4
5
6
7
8
9
for( int i = 1; i < s - 1; i ++ )
{
   ADOQuery1->SQL->Clear();
   ADOQuery1->SQL->Add("SELECT [Имя], [Класс] from [1] where [Код] = " + IntToStr( i ) );
   ADOQuery1->SQL->Open();
   
   j[ i ] = DBEdit1->Text;
   Memo1->Lines->Add( j[ i ] );
}
Я бы написал что то вроде:
C++
1
2
3
4
5
6
7
8
9
   ADOQuery1->SQL->Clear();
   ADOQuery1->SQL->Add("SELECT [Имя], [Класс] from [1]" );
   ADOQuery1->SQL->Open();
   
   while( !ADOQuery1->Eof )
   {   
      Memo1->Lines->Add( ADOQuery1->FieldByName("Имя")->AsString );
      ADOQuery1->Next( );
   }
1
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 19:46
Здесь на всякий случай нужно выставить на первую строку перед циклом

C++
1
ADOQuery1->First();
0
Фрилансер
49 / 34 / 7
Регистрация: 12.01.2010
Сообщений: 186
Записей в блоге: 1
06.04.2011, 20:00
Цитата Сообщение от Sasha Посмотреть сообщение
Здесь на всякий случай нужно выставить на первую строку перед циклом
Точно, чет запамятал ... =)
0
 Аватар для Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
06.04.2011, 21:26  [ТС]
Спасибо за помощь, я составил такой код, но я не пойму почему зацикливается?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Memo2->Clear();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT [Имя], [Класс] from [1]" );
ADOQuery1->Open();
 
for (int a=1;a<=i;a++){
 
        ADOQuery1->First();
        while(!ADOQuery1->Eof){
        if (m[a]!=ADOQuery1->FieldByName("Имя")->AsString + " "+ADOQuery1->FieldByName("Класс")->AsString)c++;}
 
        if (c==s){
        Memo2->Lines->Add(ADOQuery1->FieldByName("Имя")->AsString + " "+ADOQuery1->FieldByName("Класс")->AsString);
        ADOQuery1->Next();
        c=0;
        }
        else (c=0);
        }
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 21:46
Михаил Марюфич, вот я не пойму зачем ты используешь 2 цикла? Что ты хочешь сделать?
0
Фрилансер
49 / 34 / 7
Регистрация: 12.01.2010
Сообщений: 186
Записей в блоге: 1
06.04.2011, 21:51
ADOQuery1->First(); - периход к первой записи в таблице,
ADOQuery1->Next(); - периход к следующей записи в таблице

Я так понимаю ты хочишь добавить в мемо только неповторяющиеся записи???
И если я правильно тебя понял, исправь SQL запрос так:
ADOQuery1->SQL->Add("SELECT DISTINCT [Имя], [Класс] from [1]" );

m[a] - это что за массив??? Где ты его взял???
0
 Аватар для Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
06.04.2011, 21:56  [ТС]
Ну короче, я в школу делаю проект по информатике, систему проверки отсутствующих. Этот кусок программы должен отвечать за вывод людей, которых еще нет в школе.
m[]-это массив элементов, в который записываются учащиеся, которые уже пришли.
Двумя циклами я проверяю запись базы данных на соответствие элементу массива, если ученика еще нет, то соответствия не будет.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 22:04
понятно
0
Фрилансер
49 / 34 / 7
Регистрация: 12.01.2010
Сообщений: 186
Записей в блоге: 1
06.04.2011, 22:05
Вообще для поиск в таблице есть метод Locate(), и что то я так до конца и не понял что должен делать этот кусок кода!
0
 Аватар для Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
06.04.2011, 22:07  [ТС]
А что за метод Locate()?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 22:09
По ищи на форуме я неоднократно выкладывал коды....
0
 Аватар для Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
06.04.2011, 22:19  [ТС]
Сейчас поищу,всем спасибо!

Добавлено через 8 минут
Еще одно__)
ADOQuery1->SQL->Open();
Его случайно не надо закрывать?
0
Фрилансер
49 / 34 / 7
Регистрация: 12.01.2010
Сообщений: 186
Записей в блоге: 1
06.04.2011, 22:22
Ну тогда можно написть что то вроде( это если развивать ваш подход к данной задаче ), в общем для себя я бы так писать не стал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool f;
for( int a = 1; a <= i; a ++ )
{
   f = false;
   ADOQuery1->First( );
   while( !ADOQuery1->Eof )
   {
      if (m[ a ] == ADOQuery1->FieldByName("Имя")->AsString + " " + ADOQuery1->FieldByName("Класс")->AsString)
      {
         f = true;
         break;
      }
      ADOQuery1->Next( );
   }
 
   if( !f )
        Memo2->Lines->Add(ADOQuery1->FieldByName("Имя")->AsString + " " + ADOQuery1->FieldByName("Класс")->AsString);
}
Код не проверял!
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 22:23
Надо сначала закрыть
Потом очистить
Потом сформировать строку запроса
И в конце открыть
0
 Аватар для Михаил Марюфич
15 / 15 / 5
Регистрация: 29.03.2011
Сообщений: 144
06.04.2011, 22:30  [ТС]
Цитата Сообщение от BriGaDir_89 Посмотреть сообщение
bool f;
for( int a = 1; a <= i; a ++ )
{
* *f = false;
* *ADOQuery1->First( );
* *while( !ADOQuery1->Eof )
* *{
* * * if (m[ a ] == ADOQuery1->FieldByName("Имя")->AsString + " " + ADOQuery1->FieldByName("Класс")->AsString)
* * * {
* * * * *f = true;
* * * * *break;
* * * }
* * * ADOQuery1->Next( );
* *}
if( !f )
* * * * Memo2->Lines->Add(ADOQuery1->FieldByName("Имя")->AsString + " " + ADOQuery1->FieldByName("Класс")->AsString);
}
Этот код для меня годится, он конечно не так как надо работает, но и не зацикливается, ну и для интересу, а как бы вы для себя стали писать?
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
06.04.2011, 22:33
Цитата Сообщение от Михаил Марюфич Посмотреть сообщение
как бы вы для себя стали писать?
Ну здесь однозначно массив надо убирать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.04.2011, 22:33
Помогаю со студенческими работами здесь

Почему один и тот-же код в WindowsForms работает, а в Web не работает?
Здравствуйте, подскажите почему один и тот-же код в WindowsForms работает, а в Web не работает. Код WindowsForms: namespace...

Простейший код работает в MS IE, почему не работает в Mozilla, FireFox?
Приветствую. Вот собственно код: &lt;html&gt; &lt;head&gt;&lt;/head&gt; &lt;body&gt; &lt;input type=&quot;button&quot; value=&quot;set 1&quot; ...

Почему не работает код на других компьютерах (на моем работает)?
вот задание: построить ф-ю: на вход поступают 2 строки, на выходе 1 строка, по следующим правилам: в 1 строке удваиваются все гласные,...

Не работает код js, почему ? Код внутри
Короче есть форма и js файлик с функциями, ф-я при клике проверяет написано ли там 'Введите имя', если да то удаляет текст, так вот она...

Почему код не работает?
#include &lt;iostream&gt; using namespace std; unsigned long double* remove(unsigned long double* Arr, size_t* Size) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru