两个简单的问题

hawkcq 2003-08-19 08:07:01
1、我有以下的代码
oleobject ole_1
ole_1 = create oleobject
ole_1.connecttonewobject('excel.application')
ole_1.documents.open('c:\temp.xls')
执行后,不能打开该文件进行编辑。

2、我想将图片存到数据库中,代码如下:
blob lb_tmp
integer li_file
li_file = fileopen('c:\temp.bmp',streamfile!)
fileread(li_file,lb_tmp)
updateblob table1 set clo1=:lb_tmp;
commit;
fileopen的第二个参数记不清楚了,反正fileopen、fileread都执行成功,updateblob也执行成功,但数据库中的col1字段中没有东西,不知何故?
...全文
30 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hawkcq 2003-08-26
  • 打赏
  • 举报
回复
这样不知与我写COMMIT进行提交有何不同
gyydreams 2003-08-25
  • 打赏
  • 举报
回复
update 前设置sqlca.autocommit=true
update 后设置sqlca.autocommit=false
最好写上事务成功与否的判断,这是一个习惯问题,呵呵
rogery 2003-08-23
  • 打赏
  • 举报
回复
polugen(独孤狂客) 必须先要sqlca.autocommit=true

/-----------------------------------------------//
这位兄台的意见我有点异意,我们公司在配置数据库的时候不允许sqlca.autocommit=true
这样会在不可测的情况下非人为的改变数据。
sinkiangscorpio 2003-08-21
  • 打赏
  • 举报
回复
OLEObject xlapp,xlsub
int ret
xlApp = Create OLEObject
ret = xlApp.ConnectToNewObject( "Excel.application" )
if ret < 0 then
MessageBox("没有安装Excel!",string(ret))
return
end if
xlApp.Application.Workbooks.open(gs_path+'\report\temp.xls')

xlApp.Application.Visible = true
xlsub = xlapp.Application.ActiveWorkbook.Worksheets[1]

//xlapp.Application.ActiveSheet.WindowState=1
xlapp.Application.ActiveSheet.PageSetup.PrintHeadings = False
xlapp.Application.ActiveSheet.PageSetup.PrintHeadings = False
xlapp.Application.ActiveSheet.PageSetup.PrintGridlines = False
xlapp.Application.ActiveSheet.PageSetup.PrintQuality = 600
xlapp.Application.ActiveSheet.PageSetup.CenterHorizontally = true
xlapp.Application.ActiveSheet.PageSetup.CenterVertically = False
xlapp.Application.ActiveSheet.PageSetup.Orientation=2
xlapp.Application.ActiveSheet.PageSetup.Draft = False
xlapp.Application.ActiveSheet.PageSetup.PaperSize = 8
//xlapp.Application.ActiveSheet.PageSetup.FirstPageNumber = "xlAutomatic"
xlapp.Application.ActiveSheet.PageSetup.BlackAndWhite = False
xlapp.Application.ActiveSheet.PageSetup.Zoom = 48
xlapp.Application.ActiveSheet.PageSetup.FitToPagesWide = 1
xlapp.Application.ActiveSheet.PageSetup.FitToPagesTall = 1


//xlapp.Application.Range("A5:AN64").Select
//xlapp.Application.Selection.RowHeight = 22.5

//
xlapp.Application.ActiveWorkbook.PrintOut
xlapp.Application.ActiveWorkbook.saved = true
xlapp.Application.ActiveWorkbook.close
xlApp.DisConnectObject()
Destroy xlapp
polugen 2003-08-20
  • 打赏
  • 举报
回复
updateblob 必须先要sqlca.autocommit=true
pbtech 2003-08-20
  • 打赏
  • 举报
回复
对,大于32k的文件要分开多次读取一个blob的变量
然后再去updateblob
jackzhang168 2003-08-20
  • 打赏
  • 举报
回复
fileread函数,如果大于32K,要分次读取文件。
runsoft 2003-08-20
  • 打赏
  • 举报
回复


oleobject ole_1
ole_1 = create oleobject
ole_1.connecttonewobject('excel.application')
ole_1.application.workbooks.open('c:\temp.xls')
ole_1.application.activeworkbook.worksheets[1]
jdsnhan 2003-08-19
  • 打赏
  • 举报
回复
你的执行成功按照什么判定的,sqlca.sqlcode?最好别用它
用sqlca.sqlerrtext判断一下,看看是否成功
rogery 2003-08-19
  • 打赏
  • 举报
回复
没有提示错误吗?如果存储对象过大或不适合,系统应该有提示。

如果程序执行成功,表里的数据如果没有更新,就用debug调试一下
klbt 2003-08-19
  • 打赏
  • 举报
回复
fileread函数,如果大于32K,要分次读取文件。

740

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧