Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вставка Id поля вместо значения [D7, Microsoft Access]


Страницы:   1 2

Vova ©   (2004-07-05 10:03:00) 

Подскажите как организовать запись в базу даних , єсть четире таблици ( Microsoft Access) , нужно програмним путєм записать в основную таблиу значениє Id полей трьох таблиц (визуальной аналог DBLookupComboBox), причем єсли такова значениє ненайдено в таблице то добавить новиє поле с етим значениєм да записать Id етова поля в основною талицу. Нужно бистродействующій алгоритм, я пробивал писать но очень долго работаєт:
1.Сначала через Table1.Locate() делал поиск в таблице 1 єсли ничево ненашло добавлял значениє.
2.потом опять  Table1.Locate() опредилял значениє Id и записивал єто Id в основною таблицу, и так проход делаєтса по 3 таблицам, подскажите как упрастит ето!!!!!!!!!!!11


sniknik   (2004-07-07 20:46:00) [1]

за бабки - быстро и под "ключ", кінцевий вариант на руки.
бесплатно - медленно, на общей основе - вы делаете, мы помогаем с проблемами (если сами знаем).

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


WWW   (2004-07-07 19:50:00) [2]

Це що вже кінцевий варіант оптимізації ??????????????????
Всі якісь жлоби тільки про бабки думають !!!!!!!!!!!!!!


VOVA   (2004-07-07 15:00:00) [3]

procedure TForm1.Button1Click(Sender: TObject);
var
id1,id2,id3:integer;
begin
if not printers.Locate('printer',Edit1.Text,[loCaseInsensitive])
  then
  begin
  printers.Insert;
  printers.FieldValues['printer']:=Edit1.Text;
  printers.Post;
  id1:=printers.FieldValues['id'];
  end else  id1:=printers.FieldValues['id'];

if not host.Locate('host',Edit2.Text,[loCaseInsensitive])
  then
  begin
  host.Insert;
  host.FieldValues['host']:=Edit2.Text;
  host.Post;
  id2:=host.FieldValues['id'];
  end else   id2:=host.FieldValues['id'];

if not users.Locate('user',Edit3.Text,[loCaseInsensitive])
  then
  begin
  users.Insert;
  users.FieldValues['user']:=Edit3.Text;
  users.Post;
  id3:=users.FieldValues['id'];
  end else   id3:=users.FieldValues['id'];

  Log.Insert;
  log.FieldValues['printer']:=id1;
  log.FieldValues['host']:=id2;
  log.FieldValues['user']:=id3;
  log.FieldValues['tip']:=Edit4.Text;
  log.FieldValues['name']:=Edit5.Text;
  log.FieldValues['page']:=strtoint(Edit6.Text);
  log.Post;
end;

вот що я набрасал работаєт но неуверен што будет успевать!!!!!!!!1


VOVA   (2004-07-07 14:11:00) [4]

Блин ви думаєте за це мени заплятять, ага дождуся,я для себе пишу взагалито а на продажу писати не той ривень ще в мене, в мене в сети тонер кудись диваєтся банками , а от проследить хотелося кто и што печатаєт, а з 20 копов идет dani:record .....; от их хочу рписать в базу. Я уже тут нашол куча софта но мне не подходит, думал кинуть писать когда мучалса з сивисом, но запустил всьотаки тепер в базу писать знов муцениє, а потом ищо хотел добавить ограницениє копий пользователям но там зноа с API возитса тамболиє из под сервиса. пока нипишу то весь запас тонера удєт.
От коротко о проблеме!!


bushmen   (2004-07-07 13:59:00) [5]

> да от SQL учит то времени нет!!!!

Интересно, а зарплату свою ты нам будешь перечислять? :))


Курдль   (2004-07-07 13:49:00) [6]


> VOVA   (07.07.04 13:08) [22]
> Люди добриє помогите!!!!!!!!!

Еще вариант - опиши кратко бизнес-процесс. Чего-там за 20-ю компами делается и что получить-то надо!


VOVA   (2004-07-07 13:42:00) [7]

я так наброску зделал:
1.Сначала через Table1.Locate() делалаю поиск в таблице 2,3,4 єсли ничево ненашло добавлял значениє.
2.потом опять  Table1.Locate() опредиляю значениє Id и записую в таблицу 1.
НО мне кажетса щто так оно медлено будет работать, бо пакети валят сразу з 20 компов просто будет неуспевать обработать. я уже подумал может чере поток пустить.
И мне кажется через ADOQuery оно должно бистреє  чем ADOTable1, да от SQL учит то времени нет!!!!


Соловьев   (2004-07-07 13:19:00) [8]

в чем конкретно запарка? с алгоритмом тебе не помогут. реши сам, покажи как решил, а тут уже покритикуют.


VOVA   (2004-07-07 13:08:00) [9]

Люди добриє помогите!!!!!!!!!


vova   (2004-07-07 11:53:00) [10]

подкинте реальной алгоритм а вчера из сервисом провозилса целий день а тепер ищо з базой день , то наето уйдєт месяц


vova   (2004-07-07 11:51:00) [11]

неполучаєтса огранизовать запись
на server нужно записат в log.mdb єту структуру в четире таблици
1 таблица пишет ID host,id user, id Ip,........
2 таблица два поля id и host
3 таблица два поля id и user
4 таблица два поля id и ip
Ножно бистро записать запись dani в таблицу причом єсли в какой нибуть из таблиц 2,3,4 нет значениє то добавить и записать id етого поля в таблицу 1.


Соловьев   (2004-07-07 11:23:00) [12]


> ну ладно та помогите пожалиста пример а там уже проще

без проблем, что не получается?


vova   (2004-07-07 11:23:00) [13]

ну ладно та помогите пожалиста пример а там уже проще


Соловьев   (2004-07-07 11:20:00) [14]

чем тебя http://www.delphimaster.ru/cgi-bin/forum.pl?id=1089179265&n=1&web=1не устроил?


vova   (2004-07-07 11:19:00) [15]

короче єсть два диска компонентов один для баз второй для интернету и т.п.


Соловьев   (2004-07-07 11:19:00) [16]


> Version 2.5

уже есть 3.3, еще более навороченная:)


vova   (2004-07-07 11:17:00) [17]

єсть похожая
EhLib history

Version 2.5

 + Added Delphi 7 support.

 + New units: CalculatorEh - TCalculatorEh, TPopupCalculatorEh
              DbUtilsEh - Utilities to sort data in DataSet from DBGrid
              EhLibADO - Register object that sort data in TADOQuery
              EhLibBDE - Register object that sort data in TQuery
              EhLibCDS - Register object that sort data in TCustomClientDa

Очень навороченая


Курдль   (2004-07-07 11:10:00) [18]


> vova   (07.07.04 11:06) [12]
> могу дать кучу компонентов на любой вкус!!!!

Ура!!! Хочу "Extra Grid 5" от "Developer Express" для VS.NET!


vova   (2004-07-07 11:06:00) [19]

могу дать кучу компонентов на любой вкус!!!!


sniknik   (2004-07-07 10:49:00) [20]

> тогда быстрее, чем locate сделать будет трудно
легко. seek (хотя и на немного, локейт проверяет на индеки и использует если есть а сик использует текуший без проверок и вариаций)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо