最近做个项目,甲方要求数据库表明必须为英文或者字母,字段也是一样,包括存储过程,函数触发器等,除注释外不能包含中文,这个是给外国佬做的项目,现在的问题是我们的数据库大部分是中文,兄弟们有没有什么办法啊,还有程序里面的也是一样,数据库该了,代码里面也要修改啊,太他妈的变态了,简直疯了,项目有1000多个form,相当于是把所有代码,和数据库重新翻写一遍,要人命啊,咋个整哦,高分求解,可以真金白银的给人民币
解决方案 »
- 很难非高手勿进¥¥¥¥delphi 调用dll中form 的执行顺序与存储过程的使用问题¥¥¥¥
- TToolbar问题!
- ※※※※◆◆ 关于NetMeeting安全证书(安全呼叫)的问题,THANKS EVERYONE!!! ※※※※◆◆
- about打印预览,图元文件的1像素对应打印机多少像素
- unit1
- 用PrintDBGridEh1打印dbgrideh怎么没装打印机就出错!
- 关于字体的align
- 刚刚学习,请问在Delphi中怎么定义过程或函数
- 打印时,如何控制转行? 不然的话会超过报表边界!
- 如何使用OpenDialog选择多个文件
- delphi xe3 怎么发布程序,或者生成可执行的模式。
- 大数据量,绘图,哪一种方法会比较快。
至于软件,如果采用.Net开发,只要在Language中选择[中文(中华人民共和国)]设置好中文,选择[英文]设置好英文,打包后软件安装在英文操作系统,就显示英文了。
ALTER procedure [dbo].[置换文本存储过程]
as
begin
declare @texttypetable table(id int identity,对象类型 varchar(30))
declare @minviewid int,@objid int,@mintextid int,@minallobjid int,@textstr nvarchar(4000),
@chsname varchar(50),@engname varchar(50),@allnextobjid int,@objtype varchar(50)
declare @viewtable table(id int,中文名称 varchar(50),英文名称 varchar(50),对象类型 varchar(50),原对象id int)
declare @commentstable table(id int,文本 nvarchar(4000))
declare @allobjtable table(id int,中文名称 varchar(50),英文名称 varchar(50),对象类型 varchar(50),原对象id int)
declare @changetable table(id int,中文名称 varchar(50),英文名称 varchar(50),替换文本 nvarchar(4000))
declare @inum int,@typename varchar(30)
--置换文本中的表名
insert into @commentstable select id,text from 对象文本表 order by id
insert into @allobjtable select * from 中英文对照表 order by id
select @minallobjid=MIN(id) from @allobjtable
while @minallobjid is not null
begin
select @chsname=rtrim(ltrim(中文名称)),@engname=rtrim(ltrim(英文名称))
from @allobjtable where id=@minallobjid
set @mintextid=null
select @mintextid=MIN(id) from @commentstable
while @mintextid is not null
begin
select @textstr=文本 from @commentstable where id=@mintextid
set @textstr=REPLACE(@textstr,@chsname,@engname)
update 对象文本表 set text=@textstr where id=@mintextid
select @allnextobjid=@mintextid,@mintextid=null
select @mintextid=MIN(id) from @commentstable where id>@allnextobjid
end
delete @allobjtable where id=@minallobjid
set @minallobjid=null
select @minallobjid=MIN(id) from @allobjtable
end
end思路就是用对照表中的英文名称去遍历文本表中的文本,把每个文本取出来替换一下,然后更新回去,结果是没有效果,各位有什么好办法吗?
救急啊!!!