001: FUNCTION ReadImageFromSQL
002: *-- 传递参数:员工工号,是否使用本地临时照片文件
003: LPARAMETERS tcPerCode,tlUseLocalPhoto
004:
005: LOCAL loConn,loRS,loStream
006: LOCAL lcDriverName,lcServerName,lcDatabaseName,lcUserName,lcPassword
007: LOCAL lcConnectString
008: LOCAL lcTempImageFile,luPhotoData,lcPhotoPath
009: lcPhotoPath = GETENV("TEMP") + "\HR_Photo\"
010: lcTempImageFile = lcPhotoPath + tcPerCode + ".bmp"
011:
012: *-- 如果使用本地照片就从本地找
013: IF tlUseLocalPhoto
014: IF FILE("&lcTempImageFile")
015: RETURN lcTempImageFile
016: ENDIF
017: ENDIF
018:
019: loConn= CREATEOBJECT("Adodb.Connection")
020: loRS?= CREATEOBJECT("Adodb.Recordset")
021: loStream = CREATEOBJECT("ADODB.Stream")
022:
023: *-- 连接字符串
024: lcDriverName?= "{SQL Server}"
025: lcServerName?= ReadIni("ServerSetting","ServerName",100)
026: lcDatabaseName?= ReadIni("ServerSetting","DatabaseName",100)
027: lcUserName?= ReadIni("ServerSetting","SystemAdmin",100)
028: lcPassword?= ReadIni("ServerSetting","Password",100)
029: lcConnectString?= ;
030: "DRIVER=" + lcDriverName + ";" + ;
031: "SERVER=" + lcServerName + ";" + ;
032: "DATABASE=" + lcDataBaseName + ";" + ;
033: "UID=" + lcUserName + ";" + ;
034: "PWD=" + lcPassword
035:
036: IF !DIRECTORY("&lcPhotoPath")
037: MD lcPhotoPath
038: ENDIF
039:
040: loConn.ConnectionString = lcConnectString
041: loConn.Open
042:
043: loRS.ActiveConnection = loConn
044: loRS.LockType= 2?&& adLockPessimistic
045: loRS.CursorType= 3?&& adOpenStatic
046: loRS.source = "select ID,per_code,photo from personal where per_code = '" + tcPerCode + "'"
047: loRS.Open
048:
049: luPhotoData = loRS.Fields("photo").Value
050: loRS.Close
051: loConn.Close
052:
053: If !IsNull(luPhotoData) Then
054: loStream.Type = 1 && adTypeBinary
055: loStream.Open
056: loStream.Write(luPhotoData)
057: loStream.SaveToFile(lcTempImageFile,2)
058: Else
059: lcTempImageFile = ""
060: EndIf
061:
062: RETURN lcTempImageFile
063:
责任编辑:cyth