  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		billjiang
 
 
  註冊時間: 2006-06-09 文章: 5
 
  第 1 樓
  | 
		
			
				 發表於: 星期五 六月 09, 2006 8:02 pm    文章主題: VFP 在SQL中存取图片 | 
				     | 
			 
			
				
  | 
			 
			
				哪位高手有VFP在SQL数据库中存取图片的代码,多谢了!急急急!!   | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		billjiang
 
 
  註冊時間: 2006-06-09 文章: 5
 
  第 2 樓
  | 
		
			
				 發表於: 星期日 六月 11, 2006 12:00 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				不知道我的问题太低级不值得看还是问题太难,一直没有人回复,失望极了! 不过还好啦,经过两天的奋战,我终于把这个问题搞定了.愉快愉快! 现在和大家分享.这是参考VB相关代码才做出来的.经过测试没有问题,如果大家觉得好就投我一票吧!先谢谢了!
 
 
 
 
******************存入图片***********************
 
LOCAL lcConnStr, lcSQL, loConnection
 
 lcconnstr="Driver={SQL Server};Server=PERSONAL-1CB;UID=billjiang;PWD=billjiang;DataBase=kashiondata"
 
    lcSQL = "SELECT * FROM pictest"
 
    *!* 创建对象.
 
    loConnection = CREATEOBJECT("ADODB.Connection")
 
    loRecordSet = CREATEOBJECT("ADODB.Recordset")
 
    loADOStream = CREATEOBJECT("ADODB.Stream")
 
    *!* 打开连接.
 
    loConnection.OPEN(lcConnStr)
 
    loRecordSet.OPEN(lcSQL,loConnection,2,3)
 
    
 
    lorecordset.addnew
 
    lorecordset.fields("pic_id").value=2
 
    
 
    *!* 设置 Stream 对象属性.
 
    loADOStream.TYPE = 1 && 1=二进制数据, 2=文本数据.
 
    loADOStream.OPEN
 
    tp=ALLTRIM(thisform.text2.Value)
 
    IF !EMPTY(tp)
 
 	loADOStream.LoadFromFile(tp)
 
	lorecordset.Fields("picture") = loADOStream.Read
 
	lorecordset.update
 
	ELSE
 
		RETURN
 
	ENDIF
 
    loRecordSet.CLOSE
 
    loConnection.CLOSE
 
    loADOStream.CLOSE
 
*******************************读取图片***********************************
 
    LOCAL lcConnStr, lcSQL, loConnection,lcImageName
 
 	lcconnstr="Driver={SQL Server};Server=PERSONAL-1CB;UID=billjiang;PWD=billjiang;DataBase=kashiondata"
 
    lcSQL = "SELECT * FROM pictest"
 
    *!* 创建对象.
 
    loConnection = CREATEOBJECT("ADODB.Connection")
 
    loRecordSet = CREATEOBJECT("ADODB.Recordset")
 
    loADOStream = CREATEOBJECT("ADODB.Stream")
 
    *!* 打开连接.
 
    loConnection.OPEN(lcConnStr)
 
    loRecordSet.OPEN(lcSQL,loConnection,2,3)
 
    lorecordset.movefirst
 
    lorecordset.movenext
 
  
 
    loADOStream.TYPE = 1 && 1=二进制数据, 2=文本数据.
 
    loADOStream.OPEN
 
	    loADOStream.WRITE(loRecordSet.FIELDS("picture")) && 传递数据到 Stream 对象.
 
	    lcImageName = "mypic.bmp" && 设置本地文件名.
 
	    loADOStream.SaveToFile(lcImageName,2) && 保存 stream 对象到一个文件.
 
    thisform.image1.Picture="e:\kxerp\mypic.bmp"
 
    thisform.refresh
 
    loRecordSet.CLOSE
 
    loConnection.CLOSE
 
    loADOStream.CLOSE | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |