Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с работой MySQL 
:(
    Опции темы
Rusman
Дата 8.10.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Привет Всем!
КОроче такая тема!
У меня берутся данные  с компа и заносятся в бд MySQL
Значит все норма заносится.
Но мне нужно повторяющиеся данные обновлять. Если нет записи с таким именем то добавить в таблицу. 
Написал такой код, но у меня просходит только обновление а добавление не работает, если условие убираю и строку обновления то само по себе добавление работает.
Как мне лучше реализовать условие:
Если строка с таким именем уже есть в базе то просто её обновить, если нет то добавить.
Вот какой у меня код, но не работает:
Код

if mysql.Query('select * from goods where name='+MySQLStr(name))=nil
    then begin

if not MySQL.ExecSQL('insert into `goods` set shop='+MySQLStr(shop)+',categories='+MySQLStr(cat)+',name='+MySQLStr(name)+',price='+MySQLStr(price)+',kolvo='+MySQLStr(kolvo)) then
      begin
        ShowMySQLError;
        
      end;   end else
MySQL.ExecSQL('update `goods` set price='+MySQLStr(price)+',kolvo='+MySQLStr(kolvo)+' where name='+MySQLStr(name)+' and shop='+MySQLStr(shop) );


PM MAIL ICQ Skype   Вверх
morpheyushka
Дата 8.10.2008, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


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

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



Проверяй не на nil! Делай запрос и проверяй лучше Query.RecordCount = 0
(если такое там есть smile )


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
Rusman
Дата 8.10.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



morpheyushka 
Большущее спасибо!  smile 
Работает!

Это сообщение отредактировал(а) Rusman - 8.10.2008, 13:59
PM MAIL ICQ Skype   Вверх
morpheyushka
Дата 8.10.2008, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зеленый человек
**


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

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



тему пометь как прочитанная smile 


--------------------
user posted image
Спасибо делается вот так!!!
PM MAIL WWW   Вверх
yurik13
Дата 5.12.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребята, помогите!
Работаю с MySQL через связку SQLConnection+SimpleDataSet+DataSource+DBGrid (dbExpress).
В общем Грид только для проверки работы. Задача заключается в программной обработке данных на сервере.
Например, делаю добавление записи:
Код

ds:TSimpleDataSet;
.....
ds.Append;
ds.FieldValues['Name']:=ValueName;
ds.FieldValues['Family']:=ValueFamily;
ds.Post;

получил в Гриде данные есть, а в Базе нет... порылся нашел такую функцию:
Код

ds.ApplyUpdates(-1);

после этого данные в базу записываются, НО при количестве записей 100-200 - время выполнения ApplyUpdates затягивается где-то на 20 секунд, при увеличении ессественно дольше....

Вопрос: 
я где-то глючу или оно действительно так долго работает? (просто мне надо будет загонять около 5-10 тыс записей и быстренько)
Может есть другие варианты или компоненты?  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

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


 




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


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

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