如何将图片写入Sql Server的Image字段(前台VFP)及其相关操作? Append General From cFile 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 To coolyylu:这样好像不行吧! 对不起我漏了字段名,提供一个例子给你:IF lModi &&如果可以修改 V_AN = UTTOOLS("YESNO","选择操作","查看","更新导入")ELSE V_AN = 1ENDIFIF V_AN =1 DO CASE CASE cgongneng = "工程图纸" CFILE = ALLT(utscap_file.生产计划号) + "_" + ALLT(utscap_file.产品编号) + "_" + ALLT(UTSCAP_FILE.功能名称) ; + CHR(9) + CHR(9) + "1.右击文档选择编辑(EDIT)菜单进行修改"+CHR(9)+"或 2.双击在系统窗口进行修改" OTHERWISE CFILE = ALLT(utscap_file.生产计划号) + "_" + ALLT(utscap_file.产品编号) + "_" + ALLT(UTSCAP_FILE.功能名称) ; + CHR(9) + CHR(9) + "1.右击文档选择打开菜单在新窗口编辑"+CHR(9)+"或 2.双击在系统窗口内进行编辑修改" ENDCASE DO FORM showfile WITH cfileELSE DO CASE CASE cgongneng = "工程图纸" CFILE = GETFILE("DWG" ,"选择文件名","选择",1,"输入工程图纸名DWG") OTHERWISE CFILE = GETFILE("DOC;XLS" ,"选择文件名","选择",1,"输入WORD或电子文档") ENDCASE IF !EMPTY(CFILE) AND !FILE([CFILE]) CDES = UTTOOLS("INPUT","输入文件的简要描述,可以不输",PADR(ALLT(UTSCAP_FILE.描述),60," ")) REPLACE UTSCAP_FILE.生产计划号 WITH UTSCAP.生产计划号,UTSCAP_FILE.产品编号 WITH UTSCAP.产品编号,UTSCAP_FILE.功能名称 WITH cgongneng,; UTSCAP_FILE.文件名 WITH ALLTRIM(CFILE),UTSCAP_FILE.文件类型 WITH JUSTEXT(ALLTRIM(CFILE)),; UTSCAP_FILE.描述 WITH ALLTRIM(CDES) APPEND GENERAL UTSCAP_FILE.文件内容 FROM (CFILE) USE WAIT WINDOW "更新成功" ELSE MESSAGEBOX("此文件不存在,返回","信息") USE RETURN ENDIFENDIF To coolyylu:我是要将图片存储到SqlServer里面呀!一执行到 APPEND GENERAL 照片 FROM &FileName 就发生更新冲突!(是用远程视图的)都还没有更新到后台就报错。各位VFP大侠,解救呀…… 谢谢liujianjun_(流星尔),现在有一个很奇怪的问题。执行以上命令后出现“索引与表不批配,请删除该索引文件然后重建”,可我跟本没有用本地表,那来的索引文件。 我们以前就是用VFP+SQL SERVER开发的,SQL SERVER中存储图片的是IMAGE字段,前台使用VFP的远程视图。运行基本没有问题,但是有时候在多人同时UPDATE的时候,会出现SQL SERVER的ODBC连接等问题,导致UPDATE失败,而程序中对远程视图的参数设置的控制又较少,所以我们后来SQL SERVER端改为TEXT字段了。如果你需要,稍后我会把相关代码贴上来的。 我昨天一个同事也刚好碰到这个问题。确实有点莫名奇妙。后来我让他把本地的数据库valid database recover就又没事了。也不知道是不是这个命令弄好的。你试试。也许关掉项目重新再打开就行了。对了上面你把缓冲设为5后,必须有明确的tableupdate()函数,否则不能确认更新。你可以将该命令写到退出按钮里 另外就是远程视图表缓冲不允许vfp的本地索引命令,你可以用order by来代替。当然你也可以仍然用行缓冲,但必须要用相应的命令来解决冲突。 谢谢各位!to liujianjun_(流星尔):tableupdate()我是在保存按钮中加的,这一点我是知道的。不过索引问题依然!也不知是怎么回事。还有就是你讲的远程视图的排序问题,就只能在Select语句创建视图时指点,假如我程序中要多次改变以其它的字段排序,真不知该怎么办?to murphy711(蒙古土豆):期待中…… 更要命的是,最近经常出现“致命错误,异常代码C0000005”!我的系统是Win2K(Sp2)+VFP6(Sp5),VFP7也并存。用的是6 那你最好还是用行缓冲;当然也是有办法觉得。比如你要在grid中显示,你可以把grid的改成sql语句而不是别名。然后通过改变recordsource就可以随时改变了。 致命错误,我也经常出现,可能是vfp的问题。 索引的问题,也可能是远程表上的索引出了错。感觉有点莫名奇妙。昨天也不知道是怎么弄好的。缓冲再改回去试试 我的远程表是,VFP表升上起的,升之前只有一条记录有插入“照片”,现在也只有那一条记录可以正常插入“照片”,其它的记录都出现以上错误。 现建立连接public pb_conn,pb_pathlocal uid , pwduid = "sa"pwd = "1234"= cursorsetprop("FetchSize",-1,0)close dataff = pb_path + "rd_ls.*"delete file (ff)ff = pb_path + "rd_ls"creat database (ff)create connection pb_conn datasource "image" userid (uid) password (pwd)database "image"close data插入图片ff = pb_path + "rd_ls"open data (ff)create sql view rm_image connection pb_conn as select * from imagedbsetprop("rm_image","view","tables","image")dbsetprop("rm_image.sno","field","keyfield",.T.)dbsetprop("rm_image.sno","field","updatable",.T.)dbsetprop("rm_image.image","field","updatable",.T.)dbsetprop("rm_image.image","field","datatype","M")dbsetprop("rm_image","view","sendupdates",.T.)dbsetprop("rm_image","view","maxrecords",0)dbsetprop("rm_image","view","fetchmemo",.F.)m.sno = numberc1 = pb_path + filenameif used("rm_image") sele rm_image useendifuse rm_image in 0 nodatabegin transaction insert into rm_image from memvar append memo rm_image.image from (c1)end transaction 谢谢murphy711(蒙古土豆)。我试试 请问$a是什么意思 update 数据时的并发处理 学习mssql的个人的一些体会 全文索引如何修改 干扰词 问一下市面上正版的标有"10个用户访问许可",是什么意思? 如何知道一个数据所用到的所有物理文件的路径? 有关EXCEL 数据导入 SQL 的提问 sql问题! 为什么我的SQL SERVER用企业管理器无法连接,用查询分析器却可以? 存储过程中可以隐藏SQL语句的错误信息吗 如何创建一个标准 EXE文件来执行一些操作 SQL Server有没有基于98的共享版?
这样好像不行吧!
IF lModi &&如果可以修改
V_AN = UTTOOLS("YESNO","选择操作","查看","更新导入")
ELSE
V_AN = 1
ENDIF
IF V_AN =1
DO CASE
CASE cgongneng = "工程图纸"
CFILE = ALLT(utscap_file.生产计划号) + "_" + ALLT(utscap_file.产品编号) + "_" + ALLT(UTSCAP_FILE.功能名称) ;
+ CHR(9) + CHR(9) + "1.右击文档选择编辑(EDIT)菜单进行修改"+CHR(9)+"或 2.双击在系统窗口进行修改"
OTHERWISE CFILE = ALLT(utscap_file.生产计划号) + "_" + ALLT(utscap_file.产品编号) + "_" + ALLT(UTSCAP_FILE.功能名称) ;
+ CHR(9) + CHR(9) + "1.右击文档选择打开菜单在新窗口编辑"+CHR(9)+"或 2.双击在系统窗口内进行编辑修改"
ENDCASE
DO FORM showfile WITH cfile
ELSE
DO CASE
CASE cgongneng = "工程图纸"
CFILE = GETFILE("DWG" ,"选择文件名","选择",1,"输入工程图纸名DWG")
OTHERWISE
CFILE = GETFILE("DOC;XLS" ,"选择文件名","选择",1,"输入WORD或电子文档")
ENDCASE
IF !EMPTY(CFILE) AND !FILE([CFILE])
CDES = UTTOOLS("INPUT","输入文件的简要描述,可以不输",PADR(ALLT(UTSCAP_FILE.描述),60," "))
REPLACE UTSCAP_FILE.生产计划号 WITH UTSCAP.生产计划号,UTSCAP_FILE.产品编号 WITH UTSCAP.产品编号,UTSCAP_FILE.功能名称 WITH cgongneng,;
UTSCAP_FILE.文件名 WITH ALLTRIM(CFILE),UTSCAP_FILE.文件类型 WITH JUSTEXT(ALLTRIM(CFILE)),;
UTSCAP_FILE.描述 WITH ALLTRIM(CDES)
APPEND GENERAL UTSCAP_FILE.文件内容 FROM (CFILE)
USE
WAIT WINDOW "更新成功"
ELSE
MESSAGEBOX("此文件不存在,返回","信息")
USE
RETURN
ENDIF
ENDIF
我是要将图片存储到SqlServer里面呀!
一执行到 APPEND GENERAL 照片 FROM &FileName 就发生更新冲突!(是用远程视图的)都还没有更新到后台就报错。
各位VFP大侠,解救呀……
to liujianjun_(流星尔):
tableupdate()我是在保存按钮中加的,这一点我是知道的。不过索引问题依然!也不知是怎么回事。还有就是你讲的远程视图的排序问题,就只能在Select语句创建视图时指点,假如我程序中要多次改变以其它的字段排序,真不知该怎么办?
to murphy711(蒙古土豆):
期待中……
致命错误,我也经常出现,可能是vfp的问题。
索引的问题,也可能是远程表上的索引出了错。感觉有点莫名奇妙。昨天也不知道是怎么弄好的。缓冲再改回去试试
public pb_conn,pb_path
local uid , pwd
uid = "sa"
pwd = "1234"
= cursorsetprop("FetchSize",-1,0)
close data
ff = pb_path + "rd_ls.*"
delete file (ff)
ff = pb_path + "rd_ls"
creat database (ff)
create connection pb_conn datasource "image" userid (uid) password (pwd)database "image"
close data
插入图片
ff = pb_path + "rd_ls"
open data (ff)
create sql view rm_image connection pb_conn as select * from image
dbsetprop("rm_image","view","tables","image")
dbsetprop("rm_image.sno","field","keyfield",.T.)
dbsetprop("rm_image.sno","field","updatable",.T.)
dbsetprop("rm_image.image","field","updatable",.T.)
dbsetprop("rm_image.image","field","datatype","M")
dbsetprop("rm_image","view","sendupdates",.T.)
dbsetprop("rm_image","view","maxrecords",0)
dbsetprop("rm_image","view","fetchmemo",.F.)
m.sno = number
c1 = pb_path + filename
if used("rm_image")
sele rm_image
use
endif
use rm_image in 0 nodata
begin transaction
insert into rm_image from memvar
append memo rm_image.image from (c1)
end transaction
我试试