Delphi4.0 与 SQL7.0 的连接(100分)

  • 主题发起人 主题发起人 WangYongKai
  • 开始时间 开始时间
W

WangYongKai

Unregistered / Unconfirmed
GUEST, unregistred user!
我把MSSQL6.5升级为7.0 原来的存贮过程无法运行,BDE已更新为新 MsSQL
Link7.0 Beta 版
 
能否具体点?
 
MSsql65下的存储过程,在MSSQL70下ACTIVATE时,
系统提示存储过程can not found.


 
你是提问吗?SQL7的系统表结构与6.5大大的不同,Inprise的新的驱动
就是解决这个问题的
 
请试用sql7 ado/oledb link
http://jzy.nethome.com.cn
 
支持sql 7的BDE已经在BDE的网页出现。
 
请问在哪里,请告之??
 
荷荷,这是MS SQL 7的BUG,微软已经承认此错误,不知道你是否注意过在编辑环境里的TSTORPROC
他的STORPROCNAME后面跟了一个";" 和1
在程序运行时,这个分号和1是无效的,但SQL 7不是如此处理,他没有忽略掉
此分号,(6。5忽略掉了)
所以在SQL 7中掉用存储过程需要手工去调用
例子如下:
sp2:TStorproc;
..............
..............
sp2.StoredProcName:='';
sp2.Params.Clear;
sp2.StoredProcName:='dbo.system_init';
Sp2.Params.CreateParam(ftCurrency, '@gh_gbf', ptInput);
Sp2.Params.CreateParam(ftInteger, '@mz_mov_od', ptInput);
Sp2.Params.CreateParam(ftString, '@hj_sf_hb', ptInput);
//上面几句完成存储过程名的设置和参数设置,然后正常调用存储过程控件就可以了
try
datafrm.Database1.StartTransaction;
sp2.ParamByName('@gh_gbf').AsCurrency:=StrToCurr(ghgbf_Edit.Text);
sp2.ParamByName('@mz_mov_od').AsInteger:=StrToInt(days_Edit.Text);
sp2.ParamByName('@hj_sf_hb').AsString:='yes'
sp2.ExecProc;
datafrm.Database1.Commit;
showmessage('保存设置完成');
except
datafrm.Database1.Rollback;
showmessage('保存设置失败');
end;


上面的程序是我实际程序代码里摘出来的,SQL 7里如果你不用他新增的数据类型
使用DBLIB连接是可行的,也就是说从 SQL SERVER6。5移植到7。0只需要处理
存储过程上的调用方式就可以了。
 
哪儿可以找到BDE的MSSQL LINK7.0?
thanks!
 
荷荷,明天找我来COPY吧,昨天你来忘了给你啦
 
接受答案了.
 
Sql70的blob无法存1M以上大小文件.
我用delphi4 update #3,bde500,
table1['wav'].loadfromfile('c:/logo.wav');

2k good
34k good
600k good
1123k bad ,invalid blob size.

help!!!,I really need to save it in blob,if save out database
I should share the directory,that imposible.
 

Similar threads

回复
0
查看
563
不得闲
S
回复
0
查看
906
SUNSTONE的Delphi笔记
S
S
回复
0
查看
884
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部