Προς το περιεχόμενο

Εισαγωγή εικόνας με C++ Builder και SQL Server


Megakill

Προτεινόμενες αναρτήσεις

Δημοσ.

Ηι παίδες! Έχω συνδέση κανονικά τον SQL Server 2000 με την C++ Builder 5.5 και έχω κάνει γραφικά την βάση μου. Αυτό που θέλω τώρα είναι όταν τρέχει κάποιος την βάση να υπάρχει σε κάθε εγγραφη ένα πλήκτρο το οποίο να σου βγάζει τα περιεχόμενα του δίσκου ( η συγκεκριμένου καταλόγου ) έτσι ώστε να μπορεί να τοποθετηθεί απο τον ίδιο το χρήστη μια εικόνα στην εγγραφή, το ίδιο φυσικά θα ισχύει και για όλες τις εγγραφές...

 

Υπάρχει κάποιος που μπορεί να με βοηθίσει?

 

Thank you!

Δημοσ.

Mipws gnwrizei kaneis estw pws vazoume eikona se kapia eggrafi enos pediou enos table...? Gia SQL Server panta.

 

Gnwrizw ti diadikasia stin access logo tou oti einai panefkoli... Mou fenete periergo omws pou den yparxei antistixi epilogi ston SQL Serber..!

 

Thank you!

Δημοσ.

καλό είναι τις εικόνες να τις φυλάς σε έναν ftp λογαριαασμό και όχι σε sql server. Σε ένα field στο sql table θα φυλάς το filename της εικόνας στον ftp.

 

Τώρα αν πρέπει οπωσδήποτε να τις φυλάς σε sql table νομίζω πρέπει να φτιάξεις πεδίο με μεταβλητές τύπου blob στο table σου, αρκετά μεγάλες ώστε να χωράν και την μεγαλύτερη εικόνα σου.

Δημοσ.

den xerw ean se boithisei o parakatw kwdikas mias kai einai se delphi alla pisteuw tha deis ton tropo pou prepei na to kaneis gia na kaneis eisagogi eikonas (bitmap) se pedio stin MSSQL. To pedio pou exei tha exei tin eikona einai typou image.

 

procedure TframeGamesDatabase.GUIImageClick(Sender: TObject);

var

DatabaseBitmap: TStream;

BitmapFileStream: TFileStream;

SQLTable: TADOTable;

begin

SQLTable:= DataMod.SQL_GL_Games; // DataMod einai unit TDataModule kai to SQL_GL_Games einai ena table pou exei diafora pedia ek ton opoion to GUIImage typou image.

 

GUIImage.DataField := '';

if OpenPictureGuiImage.Execute then begin // OpenPictureGuiImage einai dialog typou TOpenPictureDialog.

SQLTable.Edit;

DatabaseBitmap := SQLTable.CreateBlobStream(SQLTable.FieldByName('GUIImage'),bmWrite);

BitmapFileStream := TFileStream.Create(OpenPictureGuiImage.FileName, fmOpenRead);

try

BitmapFileStream.Position := 0;

DatabaseBitmap.Position := 0;

 

DatabaseBitmap.CopyFrom(BitmapFileStream, BitmapFileStream.Size);

finally

DatabaseBitmap.Free;

BitmapFileStream.Free;

end;

end;

GUIImage.DataField := 'GUIImage';

end;

Δημοσ.

Thank you damn3... I alitheia einai oti diskoleftika ligo ston kodika alla ekana afto :

 

Evala ston SQL Server sta procedures afto :

 

 

CREATE PROCEDURE sp_textcopy (

@srvname varchar (30),

@login varchar (30),

@password varchar (30),

@dbname varchar (30),

@tbname varchar (30),

@colname varchar (30),

@filename varchar (30),

@whereclause varchar (40),

@direction char(1))

AS

DECLARE @exec_str varchar (255)

SELECT @exec_str =

'textcopy /S ' + @srvname +

' /U ' + @login +

' /P ' + @password +

' /D ' + @dbname +

' /T ' + @tbname +

' /C ' + @colname +

' /W "' + @whereclause +

'" /F ' + @filename +

' /' + @direction

EXEC master..xp_cmdshell @exec_str

 

 

Kai ston query analyser afto :

 

 

 

sp_textcopy @srvname = 'ServerName',

@login = 'Login',

@password = 'Password',

@dbname = 'pubs',

@tbname = 'pub_info',

@colname = 'logo',

@filename = 'c:\picture.bmp',

@whereclause = " WHERE pub_id='0736' ",

@direction = 'I'

 

 

 

Etreksan ola mia xara.. Eipe diladi to programa textcopy oti bike i photo sti vasi!

 

Ekana lipon ti sindesi me tin C++ Builder, gia tin apikonisi tis photo xrisimopiisa to DBImage. Otan paw na to sindesw kai afto me to pedio Eikona (tipou image) mou grafei "Bitmap image is not valid"... :(

 

Kserei kanenas ti simvenei?

 

Thank you!

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...