Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2009, 00:53   #1
LENA_M
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 98
По умолчанию Select

Здравствуйте!
Скажите пожайлуста, я здесь писала програмку в Pro*C
мне надо сделать Simple SQL Console : select, update, insert, delet.
У меня какие то ошибки в коде select...
вы бы не могли посмотреть, что не так? Почему не работает программа?
Вложения
Тип файла: rar SqlConsole.rar (2.2 Кб, 14 просмотров)
LENA_M вне форума Ответить с цитированием
Старый 19.05.2009, 11:43   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

с такой постановкой вопроса вам лучше обращаться к тому кто писал каменты к коду
Цитата:
Function name : parse_param
Description : Nacte soubor s argumenty programu, pokud argumenty obsahuji odkaz
na dalsi soubor s argumenty, tak tyto udaje nacte
укажите место где не так с селектом
soleil@mmc вне форума Ответить с цитированием
Старый 20.05.2009, 15:30   #3
LENA_M
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 98
По умолчанию

Здравствуйте ещё раз! На коментарии обращать внимание не надо, они на Чешском, а что касается select, то он не сделан вообще... Он должен стоять 239 строке, но я не знаю как его сделать...
Мне нужно сделать 4 пункта: Update, insert, delet, select, первые три сделаны и работают, а select не знаю, пожайлуста помогите...
LENA_M вне форума Ответить с цитированием
Старый 20.05.2009, 16:02   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

ааааа
а я подумал это какой-то суперкод
тогда по ходу дела нужно вот то что вы написали
Код:
if (strncmp(gsStr,"SELECT",6) == 0) 
          {
            /**/
          } else
          if (strncmp(gsStr,"UPDATE",6) == 0)
          {
            execute_sql("UPDATE");
          } else
          if (strncmp(gsStr,"DELETE",6) == 0)
          {
            execute_sql("DELETE");
          } else
          if (strncmp(gsStr,"ALTER",6) == 0)
          {
            execute_sql("ALTER");
          } else
          if (strncmp(gsStr,"INSERT",6) == 0)
          {
            execute_sql("INSERT");
          } else
          if (strncmp(gsStr,"EXIT",4) != 0)
            execute_sql("");
заменить вот так (если я все правильно понял - нужно же выполнять введенный текст ДДЛ/ДМЛ операций)
...поскипал
там по ходу дела gsStr - глобальная переменная
тогда просто замените строчку с каментом на это
Код:
execute_sql("SELECT");
а вам в итоге нужно небось еще и результат выполнения селекта увидеть?
тогда нужно подправлять код функи execute_sql (я в СИ лечить не лечу, но посмотреть всегда пожалста)

Последний раз редактировалось soleil@mmc; 20.05.2009 в 16:48.
soleil@mmc вне форума Ответить с цитированием
Старый 22.05.2009, 00:39   #5
LENA_M
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 98
По умолчанию

как можно сделать простую select команду:
(select * from users) и я должна это изобразить!
LENA_M вне форума Ответить с цитированием
Старый 22.05.2009, 11:31   #6
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от LENA_M Посмотреть сообщение
как можно сделать простую select команду:
(select * from users) и я должна это изобразить!
у вас консолька умеет выполнять многие команды, но единственное что не умеет - это отображать инфу, полученную в селекте
вот смотри, в твоем же проекте есть пример

Код:
int dbTestConnection()
{
  int  TmpDualID;
  EXEC SQL WHENEVER SQLERROR GOTO errprint;

  EXEC SQL
  SELECT 1 INTO :TmpDualID FROM DUAL;

  return 0;

errprint:
  EXEC SQL WHENEVER SQLERROR CONTINUE;

  return -1;
}
и в нем проверяется наличие коннекта к БД путем запроса к дуалу
сам запрос возвращает одно значение (одну строку, в общем случае, в частности может быть все немного не так если очумелые ручки успели добавить лишних записей в дуал)

в твоем случае нужно получить больше одной строчки - целый курсор
Код:
int execute_sql(char * asWhichCommand)
{
  EXEC SQL WHENEVER SQLERROR GOTO error;
  
  EXEC SQL BEGIN DECLARE SECTION;
  char    gs_SQL[30000];
  EXEC SQL END DECLARE SECTION;
  
  strcpy(gs_SQL,gsStr);

  if (strncmp(gsStr,"SELECT",6) == 0) 
  {
   EXEC SQL 
     EXECUTE IMMEDIATE :gs_SQL into :XXXXXX;
   /* XXXXXX - должна быть какая-то курсорная переменная и дальше обработка ее вывода    
*/
  } else {

  EXEC SQL EXECUTE IMMEDIATE :gs_SQL;
         }  
  printf("-------------------------------------------------\nCommand %s successfully executed  \n-------------------------------------------------\n", asWhichCommand);  
  EXEC SQL COMMIT;
  return 0;
error:  
  printf("-------------------------------------------------\n!!! error during executing sql statement\n %s\n-------------------------------------------------\n", gs_SQL);
  EXEC SQL WHENEVER SQLERROR CONTINUE;
  return -1;      
}
soleil@mmc вне форума Ответить с цитированием
Старый 27.05.2009, 13:16   #7
LENA_M
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 98
По умолчанию

это всё верно, но мне нужно, чтоб результат выводился на экран.
когда в консоле пишется селект фром тейб, допустим, надо , чтоб результат выводился, например, в форме таблицы, это и есть проблема?
LENA_M вне форума Ответить с цитированием
Старый 27.05.2009, 14:03   #8
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

к сожалению, для меня это в Си тоже пока проблема
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В зависимости от выбора в Select изменить значения другого Select Tayfun HTML и CSS 3 18.08.2011 00:05
Вопрос по Select Case DENGA-RU Microsoft Office Excel 2 23.04.2009 21:03
html тэг select Рустам HTML и CSS 3 08.01.2008 13:27
Select в Excel agatos Microsoft Office Excel 1 07.12.2007 08:07
Передача значения в <select></select> kkkggg Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 06.09.2007 00:26