
1、查询一下数据库,判断在数据库中的时候,是否是已经存在了乱码。
2、在读取到Java的时候,你用SystemOut输出一下,判断这个时候,是否是乱码。
3、写入到xml文件的时候,XML中是否是乱码。
如果是1种情况出现乱码,则是写入数据库的时候出现乱码,需要更改写入程序的代码。
如果是2种情况出现乱码,则是读取Oracle的字符集出现错误,设置读取的字符集。
如果是3种情况出现乱码,则是在Java类中写入的时候,设置字符集,查看数据库字符集,设置为UTF-8、或者是GBK字符集。
希望对你有帮助。
一般来说,主键序号的生成是在保存数据的时候申请的。你可以建一张表(暂时叫他序号申请表)来专门存放各个表的主键序号的最大号(完全有必要)!
序号申请表需要两个字段,一个是每个需要申请主键序号的表的名字(这个就是序号申请表的主键了,当然不一定是非要是表名),一个是最大序号。
对一个数据窗口的数据来讲,在保存事件中,你通过最大号来申请主键序号,同时修改最大序号。如果此时正好有别的用户在修改你想要修改的序号申请表的最大号是,你是修改不成功的,换句话说就是你申请主键序号未成功,将返回。当然这样的情况基本上是不可能的。既然你用oracle,你应该知道他的存储时间是非常短的,还有他的锁机制应该是行级锁吧。
以上就能完成你需要的逐渐序号了!我一般都把主键序号定义成字符型的。
以下是我以前写的一个函数:
//单号申请,参数:1、表名(string),2、单号位数(int),3、单号申请窗口(datawindow),dw_nuapp
string ls_code
long ReturnValue,ll_rownuapp
nuappdw.retrieve(chart)
ll_rownuapp=nuappdw.rowcount()
if ll_rownuapp>1 or ll_rownuapp<0 then
messagebox('信息提示','单号申请出错,请与系统管理联系!')
elseif ll_rownuapp=0 then
ls_code=right('0000000000000000000000001',bit)
nuappdw.insertrow(0)
nuappdw.object.chana[1]=chart
nuappdw.object.chanu[1]=ls_code
ReturnValue=nuappdw.update()
if ReturnValue = -1 then
ROLLBACK USING SQLCA
messagebox('提示信息','单号申请失败,请与系统管理联系!')
else
COMMIT USING SQLCA
end if
elseif ll_rownuapp=1 then
ls_code=right('0000000000000000000000'+string(long(nuappdw.object.chanu[1])+1),bit)
nuappdw.object.chanu[1]=ls_code
ReturnValue=nuappdw.update()
if ReturnValue = -1 then
ROLLBACK USING SQLCA
messagebox('提示信息','单号申请失败,请与系统管理联系!')
else
COMMIT USING SQLCA
end if
end if
【注意】申请序号并修改序号我是通过数据窗口来完成的,而不是直接用update语法直接修改表的!
1、首先在电脑上打开sql数据库软件。然后右键点击新建查询。
2、然后用create database命令创建一个数据库。命令为create database 酒店管理。
3、然后创建数据库的主文件。on primary(name =酒店管理,)。
4、设置文件的保存位置和名字。命令为filename = 'E:\酒店管理.mdf'。
5、创建数据库的日志文件。命令为log on(name =酒店管理log,)。
6、再设置日志文件的储存位置。命令为filename='E:\酒店管理.ldf'。最后运行sql语句就可以得到一个酒店管理的数据库。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)