Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > База MySQL


Автор: apostolnikolai 11.10.2009, 14:40
lДоброе время суток !!!

Вопрос есть прога котороя выгружает данные в MySQL . все робит . Но каждую выгрузку добовляются все теже данные много раз. можноли сделать чтоб первую выгрузку формировались данные все а каздый след раз не дописывались а менялись только те где были изменения ! 

вот код который я использую ща


Код

  if not MySQL.ExecSQL('insert into `bill_user` (`user_name`,`user_guid`,`user_group_name`,`user_lavel`,'+
      '`user_sesion`,`user_price_traffic`,`user_prepaid_traffc`,`user_price_time`,`user_paid`,`user_blocked`,'+
      '`user_authorize`,`user_code_blocked`,`user_restart_session`,`user_start_work_session`,`user_Operating_time`,'+
      '`user_mode_charge_users_payment`,`user_added_traffic`,`user_sum_traffic`,`user_sum_time`,`user_balances`,'+
      '`user_accepted`,`user_transferred`,`user_accepted_cache`,`user_accepted_post_traffic`,`user_IP-address_client`,'+
      '`user_individual_minimum_level_filtration`,`user_current_level_filtration`,`user_current_mode_cache`,'+
      '`user_tariffing_unit`,`user_accepted_proxy`,`user_considered_traffic`,`user_record_broad_gull_network_statistics_resolved`,'+
      '`user_write_down_inquiries_through_proxy_server`,`user_current_speed_reception`,'+
      '`user_current_speed_transfer`,`user_activity_traffic`)'+
      'values (' + MySQLStr(Name) +','+ MySQLStr(UState[1])+','+ MySQLStr(UState[2])+','+ MySQLStr(FService.APIBillModeAsString(UState[3])) +','+
                   MySQLStr(FService.APISessStateAsString(UState[4]))+','+ MySQLStr(UState[5])+','+ MySQLStr(UState[6])+','+
                   MySQLStr(UState[7])+','+ MySQLStr(UState[8])+','+ MySQLStr(UState[9])+','+ MySQLStr(UState[10])+','+
                   MySQLStr(FService.APIBlockReasonAsString(UState[11]))+','+ MySQLStr(UState[12])+','+
                   MySQLStr(UState[13])+','+ MySQLStr(UState[14])+','+  MySQLStr(UState[15])+','+
                   MySQLStr(UState[16])+','+ MySQLStr(UState[17])+','+ MySQLStr(UState[18])+','+
                   MySQLStr(UState[19])+','+ MySQLStr(UState[20])+','+ MySQLStr(UState[21])+','+
                   MySQLStr(UState[22])+','+ MySQLStr(UState[23])+','+ MySQLStr(UState[24])+','+
                   MySQLStr(UState[25])+','+ MySQLStr(UState[26])+','+ MySQLStr(UState[27])+','+
                   MySQLStr(UState[28])+','+ MySQLStr(UState[29])+','+ MySQLStr(UState[30])+','+
                   MySQLStr(UState[31])+','+ MySQLStr(UState[32])+','+ MySQLStr(UState[33])+','+
                   MySQLStr(UState[34])+','+ MySQLStr(UState[37])+')') then
      begin
        ShowMySQLError;
        Exit;
      end;



Автор: Mikel 11.10.2009, 16:53
Примените REPLACE вместо INSERT'a.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)