IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Problème de violation d'accès


Sujet :

Bases de données Delphi

  1. #1
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut Problème de violation d'accès
    Bonjour

    J'ai un problème que je n'arrive pas à résoudre car je ne comprend pas vraiment d'où il provient.
    Dans mon programme j'ai une procédure qui me permet de créer des tables sous SQL Server et de les remplir. Tout fonctionnait bien jusqu'à ce que j'en rajoute une. J'ai le message :

    Violation d'accès à l'adresse 00403B80 dans le module "Project2.exe". Ecriture de l'adresse 0047EAC8
    Le problème c'est que la table sur laquelle il plante n'est pas celle que j'ai ajoutée mais une autre. Il la crée bien mais ne la remplie pas. J'ai beau regarder, je ne vois pas ce qui cloche. Le pire c'est que si j'execute en pas à pas il passe très bien dessus mais plante aussitôt que j'execute le reste normalement.

    Voilà ce qui plante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
      QueryCreateTable.close;
      QueryCreateTable.sql.Clear;
      QueryCreateTable.sql.Add('if exists (select 1 from sysobjects where id = object_id(''regroupement'') and type = ''U'') drop table regroupement');
      QueryCreateTable.Prepare;
      QueryCreateTable.ExecSQL;
      QueryCreateTable.close;
      QueryCreateTable.sql.Clear;
      QueryCreateTable.sql.add('create table regroupement');
      QueryCreateTable.sql.add('(');
      QueryCreateTable.sql.add('TYPE_PRESSE char(3)  null,');
      QueryCreateTable.sql.add('DEP         char(2)  null,');
      QueryCreateTable.sql.add('CODE        char(2)  null,');
      QueryCreateTable.sql.add('LIBELLE     char(50) null,');
      QueryCreateTable.sql.add('REGION      char(50) null');
      QueryCreateTable.sql.add(')');
      QueryCreateTable.Prepare;
      QueryCreateTable.ExecSQL;
      QueryCreateTable.close;
      QueryCreateTable.sql.Clear;
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''09'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''11'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''12'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''19'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''24'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''31'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''32'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''33'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''40'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''46'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''47'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''64'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''65'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''66'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''81'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''82'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''16'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''17'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''29'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''79'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''85'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''86'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''87'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''22'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''35'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''44'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''56'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''23'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''28'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''36'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''37'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''49'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''53'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''61'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''72'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''20'',''11'',''LE BOURGET'',''CORSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''54'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''57'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''67'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''88'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''14'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''27'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''50'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''76'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''02'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''08'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''10'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''51'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''52'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''55'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''59'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''60'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''62'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''80'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''97'','' 1'',''LE BOURGET'',''DOM'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''98'','' 2'',''LE BOURGET'',''TOM'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''00'',''21'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''75'',''21'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''92'',''21'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''93'',''21'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''94'',''21'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''04'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''05'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''06'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''13'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''30'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''34'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''48'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''83'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''84'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''98'',''31'',''ORLY SENIA'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''01'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''07'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''26'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''38'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''42'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''43'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''69'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''71'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''73'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''74'',''32'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''25'',''33'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''39'',''33'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''68'',''33'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''70'',''33'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''90'',''33'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''03'',''34'',''ORLY SENIA'',''PROVINCE 4'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''15'',''34'',''ORLY SENIA'',''PROVINCE 4'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''63'',''34'',''ORLY SENIA'',''PROVINCE 4'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''18'',''35'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''21'',''35'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''41'',''35'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''45'',''35'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''58'',''35'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''89'',''35'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''77'',''36'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''78'',''36'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''91'',''36'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''206'',''95'',''36'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''09'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''11'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''12'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''19'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''24'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''31'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''32'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''33'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''40'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''46'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''47'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''64'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''65'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''66'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''81'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''82'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''16'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''17'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''29'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''79'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''85'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''86'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''87'',''02'',''CHILLY MAZARIN'',''PROVINCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''22'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''35'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''44'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''56'',''03'',''CHILLY MAZARIN'',''PROVINCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''23'',''01'',''CHILLY MAZARIN'',''TOULOUSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''28'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''36'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''37'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''49'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''53'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''61'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''72'',''04'',''CHILLY MAZARIN'',''PROVINCE 3'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''20'',''11'',''LE BOURGET'',''CORSE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''54'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''57'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''67'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''88'',''12'',''LE BOURGET'',''EST'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''14'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''27'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''50'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''76'',''13'',''LE BOURGET'',''NORMANDIE'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''02'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''08'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''10'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''51'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''52'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''55'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''59'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''60'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''62'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''80'',''14'',''LE BOURGET'',''NORD'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''97'','' 1'',''LE BOURGET'',''DOM'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''98'','' 2'',''LE BOURGET'',''TOM'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''04'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''05'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''06'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''13'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''30'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''34'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''48'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''83'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''84'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''98'',''21'',''CHAROLAIS'',''PACA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''00'',''31'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''75'',''31'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''92'',''31'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''93'',''31'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''94'',''31'',''ST OUEN'',''ILE DE FRANCE 1'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''01'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''07'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''26'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''38'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''42'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''43'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''69'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''71'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''73'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''74'',''41'',''ORLY SENIA'',''BRA'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''25'',''42'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''39'',''42'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''68'',''42'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''70'',''42'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''90'',''42'',''ORLY SENIA'',''BESANCON'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''03'',''43'',''ORLY SENIA'',''PROVINCE 4'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''15'',''43'',''ORLY SENIA'',''PROVINCE 4'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''63'',''43'',''ORLY SENIA'',''PROVINCE 4'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''18'',''44'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''21'',''44'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''41'',''44'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''45'',''44'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''58'',''44'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''89'',''44'',''ORLY SENIA'',''PROVINCE 5'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''77'',''45'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''78'',''45'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''91'',''45'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.sql.Add('insert into regroupement values(''205'',''95'',''45'',''ORLY SENIA'',''ILE DE FRANCE 2'')');
      QueryCreateTable.Prepare;
      QueryCreateTable.ExecSQL;
    Je précise que dans l'analyseur de requête ca passe très bien.

    Si quelqu'un sait d'où peut venir l'erreur car là je sèche complètement

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 119
    Points : 125
    Points
    125
    Par défaut
    As tu fait un pas à pas pour savoir où ça plante

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 63
    Points : 54
    Points
    54
    Par défaut
    La longueur d'une requête n'est pas limité ?
    Auquel cas il faudrait executer tes inserts en plusieurs fois

  4. #4
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    mika > j'ai bien fait un pas à pas mais ca ne plante pas en pas à pas

    creenshaw > c'est ce que je viens de tester mais ca ne fonctionne pas plus. Par contre ca ne plante plus au moment de l'insert dans cette table mais dans celle que j'ai ajouté. J'ai essayé d'utiliser un autre Query mais ca n'a rien changé. Je ne pense pas que ca soit un problème de syntaxe sinon j'aurai un autre message d'erreur. Il commence bien à insérer dans la table mais il s'arrête à l'un des groupes d'insert.

  5. #5
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    même en executant les insert un par an dans la partie où ca plante ca ne change rien, il m'en insert toujours le même nombre
    Je capte plus rien du tout

  6. #6
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    j'ai essayé de déplacer mon morceau de code dans ma procédure et ca fonctionne mais du coup j'ai le message dans l'insertion dans une autre table. Je suppose donc que ca doit être un problème de mémoire (après un certain nombre d'insertions) mais je ne vois pas du tout comment faire pour regler le problème...

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Quand tu exécutes en mode pas à pas tu dis que ça ne plante pas mais est-ce que les insertions sont correctement effectuées ?

  8. #8
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Déjà encadre chaque création de table/insert par des transactions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Connection.begintrans
    try
      // le query
      Connection.Commit;
    Except on E:Exception do
      begin
        Connection.RollBack;
        ShowMessage('Requette 1:' +E.message); // te permettra de voir s'il y a une erreur
      end;
    end;
    Mais sans vouloir être trop méchant, ce type d'énumération c'est pas vraiment recommandé.
    Je te conseil fortement de fair une procédure de creation de table, puis une procédure qui importera les données dans tes tables depuis un fichier texte formaté type CSV.
    De plus tes procédures seront peut être réutilisable, car la, tu les utilises une fois et apres ca sert plus vraiment.

  9. #9
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    je ne crois pas pouvoir faire de transaction car d'après l'aide de delphi 5 begintrans fonctionne avec ADO et j'utilise BDE.
    Sinon tu penses que le fait de passer par un fichier va résoudre le problème de violation d'accès ?
    D'après les tests que j'ai fais, j'ai cette erreur au bout d'un certain nombre d'insert même avec des composants TQuery différents et en faisant un insert par query.

  10. #10
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Plus tu as de lignes de codes plus tu as de chance d'avoir des erreurs ^^

    Je vais te faire un exemple (a toi de l'adapter aprés) :


    1 - Création de table

    Tes scripts de creation de table sont dans un fichier texte simple (tu ecris directement ta requete dans un fichier texte), après il te reste plus qu'a appeller les fichiers avec la fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    function createtable (sFilename : String) : boolean;
    begin
      Result := True;
      With Query do
      begin
        Close;
        SQL.LoadFromFile(sFilename);
        try
          ExecSQL;
        Except on E:Exception do
          begin
            Showmessage('Erreur ' + ExtractFileName(sFilename) + ' : ' + E.message);
           Result := False;
          end;
        end;  
      end;
    end;
    2 - Insertion des données

    dans ton fichier la première ligne contient les noms des champs de la table, les lignes suivantes ont les données.

    Exemple de fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Ligne 1 : champ1;champ2;champ3
    Ligne 2 : data11;data12;data13 
    Ligne 3 : data21;data22;data33
    Ligne 4 : ...
    Ligne X : dataX1,dataX2;dataX3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    function InsertData(sFilename,sTableName : String) : Boolean;
    var
      lst : TStringList;
      i : integer;
    begin
      Result := True;
      lst := TStringList.create;
      try
        lst.loadfromfile(sFilename);
        for i := 1 to lst.count -1 do 
          With Query do
          begin  
            Close;
            SQL.Clear;
            SQL.Add('insert into ' + sTableName + '(' + StringReplace(lst.strings[0],';',',',rfReplaceAll) + ')');
            SQL.Add('Values(' + StringReplace(lst.strings[i],';',',',rfReplaceAll) + ')');
            try
              ExecSQL;
            Except on E:Exception do
              begin
                // tu saves ou tu veux l'erreur
              end;
           end;
           // tu peux mettre une progressbar ici si tu veux suivre l'etat d'avancement 
          end; 
      finally
        lst.free;  
      end;
    end;
    Maintenant a toi d'adapter a ton besoin ce que je te fourni ^^

  11. #11
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    Merci pour ton code, je vais tester de cette manière en espérant que ca résolve mon problème

  12. #12
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    y a peut être quelques erreurs dans le code (j'ai pas pu testé, j'ai aps ce type de db chez moi), mais c'est surtout l'esprit de la programmation qu'il faut garder

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/12/2008, 22h30
  2. Problème de violation d'accès
    Par kurul1 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/09/2008, 14h57
  3. problème de violation d'acces
    Par bouzaidi dans le forum Delphi
    Réponses: 20
    Dernier message: 22/04/2007, 19h35
  4. Réponses: 5
    Dernier message: 13/01/2007, 19h45
  5. [vb 2005]Problème de violation d'accès concurentiel
    Par estelledany dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/06/2006, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo