Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
delpix.ru
19 / 19 / 3
Регистрация: 06.05.2011
Сообщений: 235
1

Функция удаления из базы данных

02.06.2011, 21:59. Показов 2876. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вот рабочая функция удаления моего друга:
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
void del(int n)
{
        int d,i;
        pacient *db;
        db=new pacient[n];
        pacient *temp; 
        temp=new pacient[n]; 
        d=-1;
        while(d<0||d>n)
        {
                cout<<"Введите № строки которую хотите удалить: "; cin>>d;
                d--;
                if(d<0||d>n) cout<<"Ошибка!!! Такой строки не существует..."<<endl;
        }
        ifstream fin("pacient.txt", ios::in);
        for(i=0;i<n;i++)
        {
                fin>>db[i].familiy>>db[i].ima>>db[i].otchestvo>>db[i].diagnoz>>db[i].sostoynie>>db[i].lechashiy_vrach>>db[i].nomer>>db[i].nomer_palati>>db[i].god>>db[i].tip_otdelenij>>db[i].dom_lech;
        }
        fin.close();
        for(i=0;i<d;i++) temp[i]=db[i];
        for(i=d+1;i<n;i++) temp[i-1]=db[i];
        delete []db;
        n--;
        ofstream fout("pacient.txt", ios::out);
        fout.clear();
        for(i=0;i<n;i++)
        {
                fout<<" "<<temp[i].familiy<<" "<<temp[i].ima<<" "<<temp[i].otchestvo<<" "<<temp[i].diagnoz;
                fout<<" "<<temp[i].sostoynie<<" "<<temp[i].lechashiy_vrach<<" "<<temp[i].nomer<<" "<<temp[i].nomer_palati<<" "<<temp[i].god<<" "<<temp[i].tip_otdelenij<<" "<<temp[i].dom_lech;
        }
        fout.close();
}
Вот моя, неработающая, с небольшими изменениями:
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
void del(int n)
{
        int d,i;
        Abbase *z5;
        z5=new Abbase[n];
        Abbase *fio; 
        fio=new Abbase[n]; 
        d=-1;
        while(d<0||d>n)
        {
                cout<<"Введите № строки которую хотите удалить: "; cin>>d;
                d--;
                if(d<0||d>n) cout<<"Ошибка!!! Такой строки не существует..."<<endl;
        }
        ifstream fin("base.txt", ios::in);
        for(i=0;i<n;i++)
        {
                fin>>z5.number>>z5.family>>z5.f_name>>z5.l_name>>z5.gr>>z5.st;  
        }
        fin.close();
        for(i=0;i<d;i++)fio[i]=z5[i];
        for(i=d+1;i<n;i++) fio[i-1]=z5[i];
        delete []z5;
        n--;
        ofstream fout("base.txt", ios::out);
        fout.clear();
        for(i=0;i<n;i++)
        {
              fout <<endl<<z5.number<<" "<<z5.family<<" "<<z5.f_name<<" "<<z5.l_name<<" "<<z5.gr<<" "<<z5.st;
        }
        fout.close();
}
У меня структура Abbase у друга pacient
В чем проблема?Компилятор выдает:

1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(176): error C2228: выражение слева от ".number" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(176): error C2228: выражение слева от ".family" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(176): error C2228: выражение слева от ".f_name" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(176): error C2228: выражение слева от ".l_name" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(176): error C2228: выражение слева от ".gr" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(176): error C2228: выражение слева от ".st" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(187): error C2228: выражение слева от ".number" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(187): error C2228: выражение слева от ".family" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(187): error C2228: выражение слева от ".f_name" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(187): error C2228: выражение слева от ".l_name" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(187): error C2228: выражение слева от ".gr" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
1>c:\users\user\documents\visual studio 2010\projects\abbase 0.36\abbase 0.36\struct.h(187): error C2228: выражение слева от ".st" должно представлять класс, структуру или объединение
1> тип: Abbase *
1> возможно, имеется в виду "->"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2011, 21:59
Ответы с готовыми решениями:

Функция удаления из базы данных (Найти ошибки)
У меня есть функция удаления строки из базы данных void Delete(int n) { int d,i; Abbase *db;...

Алгоритм удаления записи из базы данных
У меня есть алгоритм записи в файл: void Add(Abbase&amp; d, int&amp; ch) { system (&quot;cls&quot;); ofstream...

Функция удаления из базы
хай всем, что то у меня голова уже не варит $mysqli = $db-&gt;query(&quot;DELETE FROM `$table`...

Почему не происходит удаления из базы данных?
в чем я допустил ошибку подскажите, почему не происходит удаления из базы данных? $data =...

2
49 / 49 / 14
Регистрация: 08.04.2011
Сообщений: 124
02.06.2011, 22:06 2
C++
1
 fin>>db[i].familiy>>db[i].ima>>db[i].otchestvo>>db[i].diagnoz>>db[i].sostoynie>>db[i].lechashiy_vrach>>db[i].nomer>>db[i].nomer_palati>>db[i].god>>db[i].tip_otdelenij>>db[i].dom_lech;
C++
1
 fin>>z5.number>>z5.family>>z5.f_name>>z5.l_name>>z5.gr>>z5.st;
Отличия не находите,
У друга db[i] - массив
У вас z5 - не массив
И кстати если у вас классы разные то покажите их (Abbase , pacient), ошибки похоже из-за неправильного обращения к указателям, т.е место "." надо "->"
0
delpix.ru
19 / 19 / 3
Регистрация: 06.05.2011
Сообщений: 235
02.06.2011, 22:30  [ТС] 3
Цитата Сообщение от kjahert Посмотреть сообщение
C++
1
 fin>>db[i].familiy>>db[i].ima>>db[i].otchestvo>>db[i].diagnoz>>db[i].sostoynie>>db[i].lechashiy_vrach>>db[i].nomer>>db[i].nomer_palati>>db[i].god>>db[i].tip_otdelenij>>db[i].dom_lech;
C++
1
 fin>>z5.number>>z5.family>>z5.f_name>>z5.l_name>>z5.gr>>z5.st;
Отличия не находите,
У друга db[i] - массив
У вас z5 - не массив
И кстати если у вас классы разные то покажите их (Abbase , pacient), ошибки похоже из-за неправильного обращения к указателям, т.е место "." надо "->"
Простите, тупанул, мой косяк.
Сделал массив, ошибок не выдает, но прога работает не правильно. Никакой кроме первой строки не находит, а если выбрать первую строку то удаляет все содержимое базы.
0
02.06.2011, 22:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2011, 22:30
Помогаю со студенческими работами здесь

Код для удаления записи из базы данных
/////////////////////////////////////////////////////////////////////////////////// 1 часть кода ...

После удаления таблицы не уменьшается размер базы данных
Добрый день. Microsoft SQL Server 2008. С базы данных через SQL Server Management Studio была...

После удаления базы данных из SQL Server не могу подключится
В Managment Studio удалил добавленные мной базы данных. Теперь не могу подключится к серверу....

TableAdapter для удаления строки из базы данных требует все поля
Здравствуйте, появилось пару вопросов относительно работы с базой данных (ms sql). Первый:...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru