VicoTas
Câu hỏi
avatar duongmanhduy
25/05/2013 20:27

Mình muốn update xâu ký tự kiểu "String" vào trong Cơ sơ có kiểu dữ liệu "Image" ?

Mong các bạn chỉ giúp, thanks

Danh sách câu trả lời (1)
avatar bombeo113 25/05/2013 20:27
Để lưu data dạng ảnh (bất kỳ tập tin dạng nào: bmp, jpg, doc,xls, ...) vào trong table thì :
1. trong table bạn phải khai báo một field có kiểu image,
2. viết code chuyển file cần lưu thành dạng binary, sau đó mới insert dữ liệu binary này vào field có kiểu image trong table.

Khi cần xem lại file này từ table trong database thì bạn phải làm bước ngược lại: chuyển từ dạng binary trong field image thành file tương ứng trên disk, rồi sau đó mới dùng phần mềm tương ứng (Word, Excel,Paint, ... )để xem nó.

Đây là 2 thủ tục viết bằng VB của mình: Lưu và lấy dữ liệu ảnh từ DB SQL Server


Private Sub SavePictureToDB(sFileName As String)
On Error GoTo Err_Save_Picture

Dim oPict As StdPicture
Dim RS As New ADODB.Recordset
Dim strStream As ADODB.Stream

Set oPict = LoadPicture(sFileName)

If oPict Is Nothing Then
MsgBox "Lçi file ¶nh.", vbOKOnly, "Th«ng b¸o"
Exit Sub
End If

If RS.State = 1 Then RS.Close
RS.Open "select LOGO from " & glbDatabaseName & ".DBO.THONG_TIN_DV", glbCONNECTION, adOpenKeyset, adLockOptimistic
If RS.EOF Then
RS.AddNew
End If

Set strStream = New ADODB.Stream
strStream.Type = adTypeBinary
strStream.Open
strStream.LoadFromFile sFileName
RS.Fields("LOGO").value = strStream.Read
strStream.Close
RS.Update
RS.Close

Exit Sub
Err_Save_Picture:
Process_Error Me.Name, "SavePictureToDB "
End Sub


Public Sub LoadPictureFromDB(picTMP As Image)
On Error GoTo Err_Load_Picrture

Dim RS As New ADODB.Recordset
Dim strStream As ADODB.Stream

If RS.State = 1 Then RS.Close
RS.Open "select LOGO from " & glbDatabaseName & ".DBO.THONG_TIN_DV", glbCONNECTION, adOpenDynamic, adLockBatchOptimistic
If RS.EOF Then
RS.Close
Exit Sub
End If

If RS Is Nothing Then
Exit Sub
End If

If Not IsNull(RS.Fields("LOGO").value) Then
Set strStream = New ADODB.Stream
strStream.Type = adTypeBinary
strStream.Open

strStream.Write RS.Fields("LOGO").value
strStream.SaveToFile glbCurrentPath & "temppic.bmp", adSaveCreateOverWrite

picTMP.Picture = LoadPicture(glbCurrentPath & "temppic.bmp")
Kill glbCurrentPath & "temppic.bmp"
End If
RS.Close

Exit Sub
Err_Load_Picrture:
Process_Error "mdlFunctions", "LoadPictureFromDB"
End Sub


Ngoài ra bạn nên tham khảo thêm
http://caulacbovb.com/forum/viewtopic.php?f=25&t=10362
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
nophoto Cách xử lý ảnh để lấy được chữ mình muốn

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Xin hỏi Cách write chữ lên cửa sổ Graph trong Pascal?

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

Link Em đang học lập trình C/C++

Đăng lúc: 20:27 - 25/05/2013 trong Lập trình

nophoto Bác nào cho em hỏi COOKIE và SESSION là gì?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Điểm giống và khác nhau giữa Cookie và Session

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto em muốn hỏi mọi người là làm như thế nào để có một chiếc Laptop tốt và vừa với số tiền mình có ?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto trong hệ thống số nhị phân 1byte bằng bao nhiêu bít?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto trong linux lệnh tạo thư mục là gì nhỉ?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto lệnh chuyển vào thư mục trong linux là gì?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

dang duc thang trong HDH linux lệnh copy dung nhu the nao?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Trong HDH linux có sử dụng được lệnh for như trong C++ không?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto ngôn ngữ lập trình cấp cao là gì ?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto lập trình trong C# 2005 có khác VS C++ không?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Lập trình Cấu trúc là gì?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Bộ ngôn ngữ C# 2005 tích hợp những ngôn ngữ nào?

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

vietnamconnection vướng mắc trong visual

Đăng lúc: 20:26 - 25/05/2013 trong Lập trình

nophoto Lệnh xem thư mục trong DOS là gì?

Đăng lúc: 20:25 - 25/05/2013 trong Lập trình

nophoto Lập trình windown form có khác web form không?

Đăng lúc: 20:25 - 25/05/2013 trong Lập trình

nophoto Làm sao để kết nối dữ liệu từ Access sang VB ?????

Đăng lúc: 20:25 - 25/05/2013 trong Lập trình

nophoto Cho mình hỏi chút

Đăng lúc: 20:25 - 25/05/2013 trong Lập trình

Rao vặt Siêu Vip