Bonjour
j'ai développer une petite application en delphi 7 sous SQL server 2012 pour la gestion des documents de bord des véhicule (carte grise ,Assurance,et autre documents ...) , le but est d'avoir une base de donnée Image de ces documents c'est a dire créer un dossier véhicule qui aura les informations du véhicule + les images scannées de la carte grise , assurance ...)
voici un aperçu de mon application :
détail :
- DE : Delphi 7
- BDD : Microsoft SQL Server Management Studio 2012 v11.0.7001.0
- table vehicule
script de la table véhicule
procédure insertion image :
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 USE [Parc_R] GO /****** Object: Table [dbo].[VEHICULE] Script Date: 09/04/2019 10:35:08 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[VEHICULE]( [COD] [nvarchar](5) NOT NULL, [TYPEV] [nvarchar](25) NULL, [DESIGNATION] [nvarchar](50) NULL, [MARQUE] [nvarchar](25) NULL, [NumINV] [nvarchar](25) NULL, [MATRICULE] [nvarchar](15) NULL, [NumCHASSIE] [nvarchar](50) NULL, [NSERIE] [nvarchar](20) NULL, [DATECOTA] [datetime] NULL, [DATEA] [datetime] NULL, [DATETMD] [datetime] NULL, [DATEPC] [datetime] NULL, [DATECR] [datetime] NULL, [CDS] [nvarchar](4) NULL, [DISTRICT] [nvarchar](4) NULL, [VALEUR] [money] NULL, [COMPTEUR] [int] NULL, [STATUT] [nvarchar](15) NULL, [OBS] [nvarchar](25) NULL, [DATEREP] [datetime] NULL, [DATEAQ] [datetime] NULL, [GENRE] [nvarchar](15) NULL, [ETAT] [bit] NULL, [ETATA] [bit] NULL, [PHOTO] [image] NULL, [CARTEGRISE] [image] NULL, [CARTEGRISE2] [image] NULL, [COTA] [image] NULL, [ASSURANCE] [image] NULL, [PERMICIRCULE] [image] NULL, [TMD01] [image] NULL, [TMD02] [image] NULL, [CARTEROUGE1] [image] NULL, [CARTEROUGE2] [image] NULL, [INDEXE] [int] NULL, [DATEINDEXE] [datetime] NULL, CONSTRAINT [PK_VEHICULE] PRIMARY KEY CLUSTERED ( ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
requête sql :
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 procedure TDOSSIER.SaveCarteGriseF1(PictureName :String); var img:TJPEGImage; begin img:= TJPEGImage.Create; img.LoadFromFile(PictureName) ; bmp:= TBitmap.Create; bmp.Assign(img); img.CompressionQuality := 100; //you decide the value with data.ADOCG1 DO begin data.ADOCG1.Parameters.ParamByName('C').Value:=data.VEHICULECODE.Value; data.ADOCG1.Parameters.ParamByName('P').Assign(bmp) ; DBImage2.picture.Assign(bmp); SetCurrentDir('C:\Gestion_Parc_Roulant\DOSSIER') ; ChDir(DBEdit1.Text); img.SaveToFile('CARTE-GRISE-01-'+DBEdit1.text+'.jpg' ); try data.ADOCG1.ExecSQL ; finally img.Free; bmp.Free; DATA.VEHICULE.Refresh; end; end; end;
l'application fonctionne correctement mais quand j'ai insérer le 10 ème véhicule une erreur est survenu OUT OF MEMORY comme suite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3UPDATE VEHICULE SET VEHICULE .CARTEGRISE =:P WHERE VEHICULE .CODE =:C;
sachant que SQL serveur est illimité je suis un peut perdu dans la configuration de ma base de donnée , je vous demande de m'aider a optimiser mon application ou corriger cette erreur en vous remercions d'avance
Partager