Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/47: Рейтинг темы: голосов - 47, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37

Как создать запросы в С++, для базы данных?

10.05.2014, 18:32. Показов 9780. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Любым способом.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2014, 18:32
Ответы с готовыми решениями:

Создать запросы для базы данных Университет
Запрос 1: По каждому преподавателю кафедры МО определить: 1) сколько всего он ведет предметов, 2) по скольким из них он читает лекции. 3)...

Как создать WEB API для базы данных?
Подскажите как создать WEB API для базы данных, чтобы страничка на прямую работала с апи, а не с базою

Как кэшировать запросы базы данных?
Здравствуйте, Хотелось бы узнать.У меня есть скрипт который записывает всю информацию в базу данных MySQL,и каждый раз когда идет...

14
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
10.05.2014, 18:48
Примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <sql.h>
#include <sqlext.h>
...
   char    szTemp[1024];
   RETCODE rc; SQLINTEGER cbPass = 0;
   // SQL Query:
   strcpy( szTemp, "SELECT * FROM TableArea WHERE Type=0 " );
   rc = SQLExecDirect( hStmt, (SQLCHAR*)szTemp, SQL_NTS );
   if( rc != SQL_SUCCESS )
   {
     SQLFreeStmt( hStmt, SQL_CLOSE ); 
     return 0; //SQL-error
   }
 
   // Working with received recordset:
   rc = SQLBindCol( hStmt, 1, SQL_C_DEFAULT, (SQLVARCHAR*)AreaName,
                    SIZE, &cbPass );
 
   while( rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO )
   {
     rc = SQLFetch( hStmt ); // Get next data
     if( rc == SQL_SUCCESS )
     {
       SendDlgItemMessage( hwnd, IDC_STORECOMBO1, CB_ADDSTRING, 0, (LPARAM)AreaName );
     }
   }
 
   SQLFreeStmt( hStmt, SQL_CLOSE );
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
11.05.2014, 08:26  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
strcpy( szTemp, "SELECT * FROM TableArea WHERE Type=0 " );
* *rc = SQLExecDirect( hStmt, (SQLCHAR*)szTemp, SQL_NTS );
* *if( rc != SQL_SUCCESS )
А что вы тут сделали?
Просто я вообще не понимаю эту тему... Базу данных вроде создал, а запросы не понимаю как делать....
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
11.05.2014, 10:27
C++
1
2
3
strcpy( szTemp, "SELECT * FROM TableArea WHERE Type=0 " );// создаем строку запроса к БД
   rc = SQLExecDirect( hStmt, (SQLCHAR*)szTemp, SQL_NTS ); // выполняем запрос
   if( rc != SQL_SUCCESS )// проверяем успешность выполнения запроса
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
11.05.2014, 10:29  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
SQLFreeStmt( hStmt, SQL_CLOSE );
* * *return 0; //SQL-error
* *}
// Working with received recordset:
* *rc = SQLBindCol( hStmt, 1, SQL_C_DEFAULT, (SQLVARCHAR*)AreaName,
* * * * * * * * * * SIZE, &cbPass );
while( rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO )
* *{
* * *rc = SQLFetch( hStmt ); // Get next data
* * *if( rc == SQL_SUCCESS )
* * *{
* * * *SendDlgItemMessage( hwnd, IDC_STORECOMBO1, CB_ADDSTRING, 0, (LPARAM)AreaName );
* * *}
* *}
а вот тут что?
0
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
11.05.2014, 10:43
Зачем руками писать SQL запросы когда есть кошерный ORM. http://www.codesynthesis.com/products/odb/
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
11.05.2014, 10:54
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
rc = SQLBindCol( hStmt, 1, SQL_C_DEFAULT, (SQLVARCHAR*)AreaName,
                    SIZE, &cbPass ); // подключаем полученный из запроса набор строк
 
   while( rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO )
   {
     rc = SQLFetch( hStmt ); // Выбираем очередную строку из набора
     if( rc == SQL_SUCCESS )
     {
       // используем полученные данные (в данном примере считывалось поле с именем AreaName и записывалось в список
       SendDlgItemMessage( hwnd, IDC_STORECOMBO1, CB_ADDSTRING, 0, (LPARAM)AreaName );
     }
   }
 
   SQLFreeStmt( hStmt, SQL_CLOSE );// освобождаем набор
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
11.05.2014, 12:21  [ТС]
zss,
а возможно ли для этой базы данных создать запросы?
Если да, то какие?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "stdafx.h"
#include "iostream" 
#include "stdio.h"
#include "string.h"
void main ()
{
setlocale(0,"");
    FILE *fp;
 fp=fopen("test.dat","w");
    struct student {int; char ФИО[30]; char группа[30]; int возраст;};
struct student *pst, stud1={1,  "фамилия", "группа", 18}; 
struct student *psa, stud2={2,  "фамилия", "группа", 18}; 
struct student *pss, stud3={3,  "фамилия", "группа", 17}; 
struct student *psd, stud4={4,  "фамилия", "группа", 17}; 
struct student *psf, stud5={5,  "фамилия", "группа", 18};  
struct student *psg, stud6={6,  "фамилия", "группа", 17}; 
struct student *psh, stud7={7,  "фамилия", "группа", 20}; 
struct student *psj, stud8={8,  "фамилия", "группа", 19}; 
struct student *psk, stud9={9,  "фамилия", "группа", 19}; 
struct student *psl, stud10={10, "фамилия", "группа", 19}; 
struct student *psz, stud11={11, "фамилия", "группа", 18};  
struct student *psx, stud12={12, "фамилия", "группа", 17}; 
struct student *psc, stud13={13, "фамилия", "группа", 18};  
struct student *psv, stud14={14, "фамилия", "группа", 18};  
struct student *psb, stud15={15, "фамилия", "группа", 19}; 
struct student *psn, stud16={16, "фамилия", "группа", 18};  
struct student *psm, stud17={17, "фамилия", "группа", 17};  
struct student *psq, stud18={18, "фамилия", "группа", 20}; 
struct student *psw, stud19={19, "фамилия", "группа", 19}; 
struct student *pse, stud20={20, "фамилия", "группа", 18}; 
struct student *psr, stud21={21, "фамилия", "группа", 20};  
struct student *pqs, stud22={22, "фамилия", "группа", 19}; 
struct student *psy, stud23={23, "фамилия", "группа", 17};
struct student *psu, stud24={24, "фамилия", "группа", 20};  
struct student *psi, stud25={25, "фамилия", "группа", 18}; 
struct student *pso, stud26={26, "фамилия", "группа", 17};  
struct student *psp, stud27={27, "фамилия", "группа", 18}; 
struct student *pps, stud28={28, "фамилия", "группа", 20}; 
struct student *spp, stud29={29, "фамилия", "группа", 18};  
struct student *asd, stud30={30, "фамилия", "группа", 18}; 
struct student *dfg, stud31={31, "фамилия", "группа", 17};  
struct student *hjk, stud32={32, "фамилия", "группа", 17}; 
struct student *kll, stud33={33, "фамилия", "группа", 20};  
struct student *lkl, stud34={34, "фамилия", "группа", 18}; 
struct student *qwe, stud35={35, "фамилия", "группа", 17}; 
struct student *rty, stud36={36, "фамилия", "группа", 18}; 
struct student *uio, stud37={37, "фамилия", "группа", 18};  
struct student *pop, stud38={38, "фамилия", "группа", 17}; 
struct student *ere, stud39={39, "фамилия", "группа", 20}; 
struct student *trt, stud40={40, "фамилия", "группа", 18}; 
struct student *opo, stud41={41, "фамилия", "группа", 20}; 
struct student *omo, stud42={42, "фамилия", "группа", 18};  
struct student *ghg, stud43={43, "фамилия", "группа", 20}; 
struct student *oio, stud44={44, "фамилия", "группа", 19};  
struct student *klk, stud45={45, "фамилия", "группа", 18};  
struct student *gdf, stud47={47, "фамилия", "группа", 18};  
struct student *hkj, stud48={48, "фамилия", "группа", 18}; 
struct student *hgk, stud49={49, "фамилия", "группа", 20};  
struct student *qew, stud50={50, "фамилия", "группа", 17};  
fclose(fp);
 
 
 
}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
11.05.2014, 12:42
Leert, где тут *** база данных? Ты опять свою вчерашнююю задачу на структуры показываешь? Не вводи людей в заблуждение! Видишь, они тебе стали про SQL базы данных объяснять? Ты вообще можешь полностью своё задание выложить????
Вот же была тема! Зачем ты её бросил и новую создал? Почему не выводит структуры в файл? Как народ догадается, что ты "базой данных" свои файлики называешь!?!
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
11.05.2014, 13:34  [ТС]
Kuzia domovenok, мое задание, это создать базу данных и к ней 5 запросов.
Я подумал, что запросы это совсем другая тема

Добавлено через 35 минут
Voivoid, а как им пользоваться?
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
11.05.2014, 13:39
Цитата Сообщение от Leert Посмотреть сообщение
создать базу данных
И все таки, какую базу данных надо создать?
Просто файл с записями, или нормальную SQL базу,
например, MS Access (*.mdb)?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
11.05.2014, 13:45
Leert, видишь ли, когда ты получал задание это твоя обязанность была уточнить у учителя информатики, что конкретно надо делать? Что значит "базу данных"? Именно настоящую БД или просто чтение-запись из файла? Должна ли твоя поддерживать SQL запросы и в каком объёме? Или может надо просто сделать добавление/поиск элементов в массиве структур + запись в файл? Почему ты не поинтересовался у учителя? Тебе было не интересно?
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
11.05.2014, 14:21  [ТС]
zss,
мне надо создать базу данных в Visual С++, не используя остальное, только в си...
База данных деканат из 50 учащихся, и сделать 5 запросов, чтобы он вывел одного пола учащихся, или из одной группы...
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
11.05.2014, 18:19
Цитата Сообщение от Leert Посмотреть сообщение
мне надо создать базу данных в Visual С++, не используя остальное, только в си...
База данных деканат из 50 учащихся, и сделать 5 запросов, чтобы он вывел одного пола учащихся, или из одной группы...
ну вот видишь, ты пудришь мозги. "Настоящие" запросы к настоящим базам данных это не то, что тебе нужно. Все сразу начинают думать про
Цитата Сообщение от zss Посмотреть сообщение
нормальную SQL базу,
например, MS Access (*.mdb)?
как zss, например!
А тебе нужно просто сделать чтение/запись массива структур в файл и поиск по полям структуры!
0
0 / 0 / 0
Регистрация: 20.03.2014
Сообщений: 37
12.05.2014, 12:06  [ТС]
Kuzia domovenok, да
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2014, 12:06
Помогаю со студенческими работами здесь

Какие SQL запросы нужны для того, чтобы можно было отображать материал базы данных в комбоксе.
Помогите пожалуйста, какие SQL запросы нужны для того чтобы можно было отображать материал базы данных в комбоксе. если можно сделайте...

Как обеспечить зависимость значений для ввода в поле базы данных от значения в другом поле базы данных?
В таблицу DicFactor вводятся факторы, а в связанную с ней таблицу FactorValue вводятся допустимые значения факторов. Например, для фактора...

Как обеспечить зависимость значений для ввода в поле базы данных от значения в другом поле базы данных?
Есть 2 таблицы справочников (все факторы и все возможные значения - tblDicFactor и tblDicFactorValue), для каждого фактора есть допустимые...

Добавление базы данных и запросы в эту базу данных
Подскажите пожалуйста. При помощи каких компонентов в delphi можно добавить базу данных acces и какой код и как создать запросы в эту базу...

Создать оболочку для базы данных.
Создать оболочку для базы данных на Visual C++ (в windows forms) для ibexpert под firebird.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru