主页 > 服务支持 Service > 技术支持 Technical Support >

技术支持 Technical Support

爱商商业管理软件日结报错解决思路


可能性: 
—1.商品档案中存在货号为空的资料; 
—2.商品档案中货号字母存在全角; 
—3.商品档案中货号存在大小写不一致。 
—以上任何一点都可能导致日结失败,请在查询分析器中按照步骤执行下边的语句,注意要备份好数据库 

use hbposv7 
select * from t_bd_item_info 
—1.删除商品档案中货号为空的商品档案 
delete from t_bd_item_info where item_no = ” or item_no is null 
go 

–2.以下语句为将全角转换成半角,总分部都要执行。 
–执行前请备份。 
use hbposv7—分部替换为hbposv7_branch (友情提示branch是分部哦) 
go 
if object_id(N’u_convert’,N’FN’) is not null 
drop function u_convert 
GO 

create function u_convert( 
@str nvarchar(4000), 
@flag bit 

returns nvarchar(4000) 
AS 
begin 
declare 
@pat nvarchar(8), 
@step int, 
@i int, 
@spc int 
if @flag=0 
begin 
select @pat=N’%[!-~]%’,@step=-65248, 
@str=replace(@str,N’ ‘,N’ ‘) 
end 
else 
begin 
select @pat=N’%[!-~]%’,@step=65248, 
@str=replace(@str,N’ ‘,N’ ‘) 
end 
set @i=patindex(@pat collate LATIN1_GENERAL_BIN,@str) 
while @i>0 
select @str=replace(@str, 
substring( 
@str,@i,1), 
nchar(unicode(substring(@str,@i,1))+@step)), 
@i=patindex(@pat collate LATIN1_GENERAL_BIN,@str) 
return(@str) 
end 
GO 

–3.修改全角调用函数(以下语句请分开一个一个执行) 
update t_bd_item_info set item_no = dbo.u_convert(item_no,0) 
go 
update t_da_jxc_daysum set item_no = dbo.u_convert(item_no,0) 
go 
update t_im_flow set item_no = dbo.u_convert(item_no,0) 
go 

—4.执行以下语句可以将所有的货号中的字母都更新为大写。 
use hbposv7—分部用hbposv7_branch 
go 

declare @ls_tablename varchar(50),@ls_sql varchar(500) 
declare test_cur cursor for 
SELECT pbc_tnam 
FROM pbcatcol 
WHERE pbc_cnam = ‘item_no’ 
ORDER BY pbc_tnam 
for read only 
open test_cur 
fetch test_cur into @ls_tablename; 
while @@fetch_Status = 0 
begin 
set @ls_sql=’update’ +’ ‘ +@ls_tablename+’ set item_no=upper(item_no)’ 
exec( @ls_sql) 
fetch test_cur into @ls_tablename; 
end 
close test_cur 
deallocate test_cur 
go


  • 上一篇:没有了
  • 下一篇:爱商商业管理系统系列软件数据库损坏和置疑常规修复处理方法
  •