Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из StringGrida в DBGrid 
V
    Опции темы
XPyCT
Дата 22.6.2008, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



каким образом перекинуть содержание стринггрида в дбгрид! совсем запутался
PM MAIL Skype   Вверх
Palladin
Дата 22.6.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



посредством dbedit-ов пробовал?
кидаешь dbedit-ы, прячешь, устанавливаешь коннект к полям, потом по циклу, к примеру у тебя 3 поля в стринггриде, тогда:
Код

int k=0
for(int i=0; i<=StringGrid1->RowCount; i++)
{
ADOTable1->Insert;
DBEdit1->Text=StringGrid1->Cells[k,i]; k++;
DBEdit2->Text=StringGrid1->Cells[k,i]; k++;
DBEdit3->Text=StringGrid1->Cells[k,i]; k++;
ADOTable1->Post;
k=0;
}


P.S. НЕ проверял, мог сморозить...

Это сообщение отредактировал(а) Palladin - 22.6.2008, 10:34


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
XPyCT
Дата 22.6.2008, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



Цитата(Palladin @ 22.6.2008,  10:33)
посредством dbedit-ов пробовал?
кидаешь dbedit-ы, прячешь, устанавливаешь коннект к полям, потом по циклу, к примеру у тебя 3 поля в стринггриде, тогда:
Код

int k=0
for(int i=0; i<=StringGrid1->RowCount; i++)
{
ADOTable1->Insert;
DBEdit1->Text=StringGrid1->Cells[k,i]; k++;
DBEdit2->Text=StringGrid1->Cells[k,i]; k++;
DBEdit3->Text=StringGrid1->Cells[k,i]; k++;
ADOTable1->Post;
k=0;
}


P.S. НЕ проверял, мог сморозить...

1.что означает [k, i] i я понял а к

2. Если моя память меня не подводит то обращение к стринкриду происходит вообще вот так StringGrid1->Cells[Колонка][Ячейка];

спасибо! щас буду пробовать

Это сообщение отредактировал(а) XPyCT - 22.6.2008, 11:34
PM MAIL Skype   Вверх
XPyCT
Дата 22.6.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



Цитата(Palladin @ 22.6.2008,  10:33)
посредством dbedit-ов пробовал?
кидаешь dbedit-ы, прячешь, устанавливаешь коннект к полям, потом по циклу, к примеру у тебя 3 поля в стринггриде, тогда:
Код

int k=0
for(int i=0; i<=StringGrid1->RowCount; i++)
{
ADOTable1->Insert;
DBEdit1->Text=StringGrid1->Cells[k,i]; k++;
DBEdit2->Text=StringGrid1->Cells[k,i]; k++;
DBEdit3->Text=StringGrid1->Cells[k,i]; k++;
ADOTable1->Post;
k=0;
}


P.S. НЕ проверял, мог сморозить...

в общем я подправил код и все сработало спасибо  за  идею лучше таким способом чем никаким!
Код

for(int i=1; i <StringGrid1->RowCount; i++)

{
Table1->Insert();
DBEdit1->Text=StringGrid1->Cells[1][i];
DBEdit2->Text=StringGrid1->Cells[2][i];
DBEdit3->Text=StringGrid1->Cells[3][i];
DBEdit4->Text=StringGrid1->Cells[4][i];
Table1->Post();

}


теперь вопрос как удалить все под чистую из базы и чтоб отсчет нумеровался опять с 1
PM MAIL Skype   Вверх
Palladin
Дата 22.6.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



k и было вместо твоих 1,2,3,4. 

Цитата(XPyCT @  22.6.2008,  12:09 Найти цитируемый пост)
теперь вопрос как удалить все под чистую из базы и чтоб отсчет нумеровался опять с 1 

Если у тебя поле автоинкремент, то вроде никак.
Код

ADOTable1->First;
for(int i=1; i<=ADOTable1->RecordCount;i++)
{
ADOTable1->Delete;
if(i<ADOTable1->RecordCount)
{ADOTable1->Next;}
}
Так попробуй


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
XPyCT
Дата 23.6.2008, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 24.8.2007
Где: Moldova

Репутация: 10
Всего: 10



Цитата(Palladin @ 22.6.2008,  13:58)
k и было вместо твоих 1,2,3,4. 

Цитата(XPyCT @  22.6.2008,  12:09 Найти цитируемый пост)
теперь вопрос как удалить все под чистую из базы и чтоб отсчет нумеровался опять с 1 

Если у тебя поле автоинкремент, то вроде никак.
Код

ADOTable1->First;
for(int i=1; i<=ADOTable1->RecordCount;i++)
{
ADOTable1->Delete;
if(i<ADOTable1->RecordCount)
{ADOTable1->Next;}
}
Так попробуй

спасибо! я воспользовался ADOQuery  

Код


ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("Delete *From Category");
ADOQuery1->ExecSQL();
ADOTable1->Active=false;
ADOTable1->Active=true;
DBGrid1->Visible=true;
 

Это сообщение отредактировал(а) XPyCT - 12.7.2008, 16:53
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0704 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.