怪事,tomcat启动过程不读取hibernate配置文件

我在hibernate配置文件里面加了
create
没有效果,然后我随意修改配置文件的内容,比如把数据库密码改错掉,tomcat启动的时候居然没检查出来,这是怎么回事?最近遇到一大堆问题,郁闷死了
[b]问题补充:[/b]
struts2 + hibernate 没有用spring,也没有用jndi
[b]问题补充:[/b]
property name="connection.driver_class">com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/hibernate
root
root
5
org.hibernate.dialect.MySQLDialect
thread
org.hibernate.cache.NoCacheProvider
true
create


[b]问题补充:[/b]
那这么说来,不用spring,create 是不起作用的咯?

6个回答

[size=medium]没用spring自然不会报错,他又没初始化

spring是在服务启动的时候先把hibernate初始化的

所以会报错,你没用到spring,所以就不会报错啦[/size]

是不是jndi配错啦?

把hibernate的配置文件,贴出来吧
是不是那错啦?
你用的什么链接的数据库啊?
链接池?

你没有用到spring的话 启动的时候是不会检查hibernate的

一般来说 只有当你访问到项目时才会去解析你的xml

如果你里面配错的话, 你访问项目url后, 他应该会报的

楼上正解,支持

原因应该是没有创建SessionFactory. 也就是没有人主动加载过hibernate-configuration那个配置文件的内容.

[code="java"]public class HibernateSessionFactory {
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {
System.err
.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
}

public static Session getSession() throws HibernateException {
    Session session = (Session) threadLocal.get();

    if (session == null || !session.isOpen()) {
        if (sessionFactory == null) {
            rebuildSessionFactory();
        }
        session = (sessionFactory != null) ? sessionFactory.openSession()
                : null;
        threadLocal.set(session);
    }

    return session;
}

[/code]
假如你的代码也是上面这种, 你可以用某些方法调用HibernateSessionFactory 一次, 比如上面的就可以用: HibernateSessionFactory.getSession(); 这样就会促使HibernateSessionFactory 将配置文件加载一次, 那么就会去连数据库, 去create表结构.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
redhat 9 tomcat 问题
安装了tomcat6.0.10 并且我也安装了jdk1.6.0_13 而且所有的环境变量也都设置了 启动tomcat的时候也提示启动成功了 Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.6.0_18 但是当我输入http://localhost:8080时 linux提示“当试图与localhost:8080联系时,连接被拒绝”怎么回事啊? netstat 看linux 发现8080端口没有起来 网上说要关掉selinux,但我在/etc/sysconfig/目录下没有找到这个文件,也不知道是不是本来redhat9本来就没有这个文件.请大哥们帮忙解决一下,小弟先谢过. [b]问题补充:[/b] 没有tomcat报错 也没有其他的程序占用8080端口 [b]问题补充:[/b] 我装的redhat9里没有/etc/selinux/这个目录. 而且我用rqm -qa | grep selinux也没有找到selinux这个文件.很是郁闷. :cry: :cry: [b]问题补充:[/b] 呵呵,版本确实老了一点. 我查看了没有selinux这个服务. 关键是用netstat -ant查看端口,没有发现8080端口,难道我tomcat没有装成功? 但是启动tomcat的时候也提示启动成功了 Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/jdk1.6.0_18 纳闷..原来在ubuntu下装没有出现这种问题的.. [b]问题补充:[/b] 防火墙早关了。 [b]问题补充:[/b] 先谢谢你们,不过问题还是没有解决.怪事! [b]问题补充:[/b] :) pJun 大哥,我没有放弃,我在继续纠缠,我在想是不是tomcat的问题.版本太多,请给我推荐一个. [b]问题补充:[/b] 端口确认了是8080 [b]问题补充:[/b] 大哥们,要是有什么错误信息.我早贴出来了.看来还是换个版本先看看.
遇到怪事,有个VS项目切换显示文件要等半天?怎么回事?
遇到怪事,有个VS项目打开项目中文件夹(App_Code)中的cs文件,或切换显示文件都要等1,2分钟,调试也一样,一步等半天,而其他文件夹中的文件正常,这个项目或App_Code文件夹没有什么特别啊!即使有特别不至于影响到文件切换吧,比如里面一个叫User.cs的文件是当前显示页,我切换到别的代码文件,立即切换回来,等吧!要等几十秒钟才有反应!!而这个文件也就68行代码,非常小的文件,为什么这样?VS读这个文件居然要用几十秒钟!!重启了2次电脑都不行,真是碰鬼了,严重影响效率,大家有碰过类似怪事吗?
WAV文件格式的怪事,如何绘制WAV波形
![图片说明](https://img-ask.csdn.net/upload/201511/04/1446595811_889459.png) 我要画WAV波型图,可是这个WAV文件头算出来的WAV每样本位数尽然是2.就是图里面的两个红点的地方1F40*8/7D00=2.只有两位,怎么表示声音强度?我是用PlaySound来播放的,打开OD调试发现它直接将这个文件的数据复制到内存的某个地址,然后就播放 ,好像没做什么解压处理之类的操作,真搞不懂
多文件上传文件数组不为空的判断
今天遇上一件怪事,在做多文件上传时,判断文件数组不为空居然不管用。我是这样判断的, @RequestMapping("filesUpload") public void filesUpload(@RequestParam("files") MultipartFile[] files,HttpServletRequest request,HttpServletResponse response)throws Exception { String patientId = request.getParameter("patientId"); String doctorId = request.getParameter("doctorId"); PrintWriter out=response.getWriter(); if(patientId!=null&&patientId.trim().length()>0&&doctorId!=null&&doctorId.trim().length()>0){ try { int docId=Integer.valueOf(doctorId); ECG ecg=new ECG(); ecg.setDoctorId(docId); ecg.setPatientId(patientId); System.out.println("files:"+files.length); System.out.println("null:"+files==null); //判断file数组不能为空并且长度大于0 if(files!=null||files.length>0){ //循环获取file数组中的文件 for(int i = 0;i<files.length;i++){ MultipartFile file = files[i]; //保存文件 saveFile(file,request,ecg); } 虽然我做了非空判断, if(files!=null||files.length>0),然后我在前端测试,没有选择上传文件 但是后台打印出来的files长度居然为2,files不空。以下是我的前端测试页面代码: <td>医生id:</td> <td><input type="text" name="doctorId" id="doctorId"></td> </tr> <tr> <td>用户id:</td> <td><input type="text" name="patientId" id="patientId"></td> </tr> <tr> <td>选择文件</td> <td><input type="file" name="files" ></td> </tr> <tr> <td>选择文件</td> <td><input type="file" name="files" ><input type="submit" value="提交"></td> </tr> </table> 劳烦知道的大神帮我看一下,具体哪天出错了,调试的时候,明明没有选择有文件,依然跑到if里边去了,找了老半天,试了其他也不奏效。
html 字符编码的问题
怪事经常有,今天特别多啊。刚开始系统学习JavaEE开发,看到网上的一个validation.js的前端校验函数集,感觉错,于是乎练习起来,竟然发现我的html文件就算设置了<meta http-equiv="Content-Type" content="text/html; charset=GB2312">在Tomcat6下还是自动选择使用ISO显示页面,导致乱码,手动改成GB2312才行。如果不启动Tomcat6,直接用IE打开网页文件则可以正常显示,编码集是自动选择GB2312的,就是在Tomcat启动之后不能显示。如果把html文件改成jsp类型,再用<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> 指定编码方式就可以正常使用指定的字符集,晕了,不知为何。。。。 :oops: :oops:
C++编程时出现的怪事,知道的速速解答啊
今天写昨天老是不会下来的题目关于稀疏矩阵的 #include<iostream> #include<fstream> using namespace std; #define maxsize 8 #ifndef ABC #define ABC typedef struct { int i; //行号 int j; //列号 int e; //元素值 }Triple; typedef struct{ Triple data[maxsize+1]; //data[0]不用 int mu,nu,tu; //行数,列数,元素个数 }TSMatrix; void CreatTMatrix(TSMatrix &m,ifstream in) { in>>m.mu; in.ignore(); in>>m.nu; in.ignore(); in>>m.tu; in.ignore(); int num; int k=1; for(int ii=0;ii<m.mu;ii++) { for(int jj=0;jj<m.nu;jj++) { if(!in.eof()) { in>>num; if(num!=0) { m.data[k].e=num; m.data[k].i=ii; m.data[k].j=jj; k++; } if(k<=m.tu) in.ignore(); } } } }void main() { TSMatrix m1; ifstream in("M1.txt"); CreatTMatrix(m1,in); //PrintTMatrix(m1); in.close();cout<<"ok"; } ok可以打印出来,但是老是运行不了
java中double累加出现怪事
代码如下, public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub double x = 0.0; double h = 0.1; for(int i=0;i<15;i++){ x=x+h; System.out.println(x); } } } 控制台输出结果如下 0.1 0.2 0.30000000000000004 0.4 0.5 0.6 0.7 0.7999999999999999 0.8999999999999999 0.9999999999999999 1.0999999999999999 1.2 1.3 1.4000000000000001 1.5000000000000002 有哪位大佬可以给出一个合理的解释吗
求解:本地Websphere控制台部署应用上传包文件很慢的问题
大家好,本人在实际工作中遇到一件怪事:在本地安装的Websphere8.0上部署应用,却发现上传ear的速度很慢很慢, websphere直接就超时跪那了,在报错,. 因为是做外包开发的,用的是客户提供的本子,可用的权限很底,我在这里做了以下猜想与测试: 1. 网速太慢,包太大,造成上传时间太久,以至于服务上传超时(这个理解不通的,上传到本地服务器还需要耗网络?), 我的处理办法是加大超时间, 结果无效... 2. 由于某个原因, 上传到本地Websphere的包文件的确是经过了客户的路由,这样来回传速度肯定慢(想想连接客户用网络的是VPN,再加上另人发狂的内部网络...). 验证方法: 我打包一个很小的ear,然后断开网络去用控制台上传部署,果然上传不了!!看样子的确是经过了客户的路由转发数据,可是我配置的webshpere时主机名是localhost啊, 想不通, 求大神来解, 先拜谢了
求大神解!同样条件SELECT和DELETE在MYSQL上执行发生怪事
``` DELETE FROM TB_VALIDATE_PARAM WHERE UPPER(CONCAT(c_object_id, c_column_code)) NOT IN ( SELECT UPPER(CONCAT(COL.TABLE_NAME, COL.COLUMN_NAME)) FROM information_schema.COLUMNS AS COL WHERE COL.TABLE_SCHEMA = 'jlink' ); SELECT * FROM TB_VALIDATE_PARAM WHERE UPPER(CONCAT(c_object_id, c_column_code)) NOT IN ( SELECT UPPER(CONCAT(COL.TABLE_NAME, COL.COLUMN_NAME)) FROM information_schema.COLUMNS AS COL WHERE COL.TABLE_SCHEMA = 'jlink' ); ``` 两个SQL的条件一模一样,但是明明TB_VALIDATE_PARAM表里有数据,SELECT语句查不到任何数据时,DELETE却可以删除所有数据,我确定表里肯定有数据,也确定执行时肯定没有别人在操作,我尝试了三次,都是一样地效果,求解!
mysql char类型主键做查询、更新条件时遇见怪事了,求大神解答
mysql> desc card_info; +-------------+-----------+------+-----+-------------------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-----------+------+-----+-------------------+-------+ | card_number | char(20) | NO | PRI | | | | hit_time | int(11) | NO | | 0 | | | modify_time | timestamp | NO | | CURRENT_TIMESTAMP | | +-------------+-----------+------+-----+-------------------+-------+ card_number做insert条件时,值需要加单引号; 做update条件时,一个长度为15的值不加单引号才能实现,一个长度为19的值无论加不加单引号都无法实现更新 ![图片说明](https://img-ask.csdn.net/upload/201508/14/1439551980_227801.png)
解包打包system的问题
**各位,我买X98Pro平板已经半年多了,一直苦等RemixOS,但一直等不到,终于有一天Plus的Remix发布了,我一试基本上可以使用,只有电源模块有点问题,也可能system.img有问题,所以想尝试移植。试了上百遍解包打包system.img,发现能正常启动的system.img,一旦被解包打包一次,刷入后就开不了机了,定在台电LOGO,原版的system.img也是经过解包打包后启动不了。我用的是simg2img、make__ext4工具,即使没有修改任何东西包括权限,单纯解包打包一次,生成的system.img就启动不了系统了,但是能正常刷入,这种怪事你们遇到过吗?是不是台电的system.img得用专用打包工具才行?请大神帮忙!!!系统版本是安卓5.1**
关于asp.net的一件怪事
asp.net 会修改html代码,导致布局出错,如下代码: 源代码 ---------- <div id="main"> <div id="show_left" > <br/> <uc2:desingerDetail ID="desingerDetail1" runat="server" /> </div> <div id="show_right"> <uc3:desingerPic ID="desingerPic1" runat="server" /> </div> <uc1:pmdControl ID="pmdControl1" runat="server" PicType="desinger" /> </div> 生成的代码 <div id="main"> **<div id="show_left" >** <span>XXXXX</span> </div> </main>
运行一个基于Java的程序总是要求管理员权限怎么办?
#我的操作系统是windows 7. 安装了一个叫**Geogebra**的几何作图软件。这个软件是用Java开发的开源软件。 之前使用一直是正常的,最近一段时候,突然发生了一系列的怪事: 1. 比如一直用的Acrobat突然失效了,后来只好重新安装,用amtlib解决。 2. 再就是重装Acrobat之后就偶然发现Geogebra不用管理员权限无法打开了,即使彻底卸载,清除注册表项,重新安装也没用;还尝试了它的portable版本,也是一样。但其它程序都未受影响,都正常使用。可能问题出在Geogebra自带的java上 #症状是: 双击Geogebra的图标,在任务管理器中javaw.exe进程出现1-2秒之后消失;正常情况下应该是该进程一直存在,占用内存逐渐增大到60MB之后程序打开。
求大神搭救。一个nginx-rtmp问题搞的要生要死
照着教程搭建了nginx-rtmp服务器后,我本地用obs推流到服务器,obs显示正常。 保存hls文件也可以正常播放,但是我想弄多码率播放,所以找到了ffmpeg这个工具,分割成了几种码率后,怪事来了。因为ffmpeg -i 需要获取rtmp://x.x.x.x/live/stream 所以我在application live{ exec /data/ffmpeg/bin/ffmpeg -i rtmp://127.0.0.1/live/$name -c:a copy -c:v libx264 -b:v 350K -g 30 -f flv rtmp://127.0.0.1/hls/$name; } 加了exec 。但是就是获取不到直播流。下载vcl直接播放rtmp://x.x.x.x/live/stream。也是无法播放,偶尔可以偶尔不可以。哎这个问题真的蛋疼。用了别人的rtmp流测试 ffmpeg 没问题。求大神们伸下援助之手、。小弟万谢!!! ![图片说明](https://img-ask.csdn.net/upload/201712/23/1514044657_27243.png)
Android系统创建一个网桥之后,不能ping域名
创建一个网桥br-lan,并将eth0添加进去 brctl addbr br-lan brctl addif br-lan eth0 busybox ifconfig eth0 0.0.0.0 //去掉eth0 ip dhcpcd br-lan //给br-lan 自动分配ip 然后,就不能ping通域名了,只能ping通ip(而且还有个怪事,就是只能用busybox ping才能ping通ip,直接用ping不能ping通ip) 有没有人能给点意见的,坐等!!!!
ACCESS数据选择性丢失,delphi开发
我用DELPHI+ACCESS做了一个小应用,发生了一件怪事: 订单数据明明插入到数据库了,可以正常进行下一步操作,并且可以正常导出,但软件关闭后,今天操作的订单数据会丢失,以前的数据不会丢失。后续的操作数据也会留下来。 下面贴出我导入EXCEL订单的代码。 ``` procedure TfrmFPimport.btnOpenClick(Sender: TObject); var ExcelApp: Variant; sl,subsl:TStringList; i,j:integer; filename,strSql,sql_mx:string; fapiao,yearmonth:string; cmd: TadoCommand; e: exception; kprq,bz,rq1,rq2,bizhi: string; code,number,capital_hz:string; hl,yfbf,dj,zj,dj_rmb,zj_rmb,rmb_hz,usd_hz,usd_hz_rmb,chayi,hangshu:double; road:string; begin dlgOpen1.FileName:=''; dlgOpen1.Execute; filename:=dlgOpen1.FileName; if filename <>'' then begin try sl:=TStringList.Create; subsl:=TStringList.Create; btnOpen.Enabled :=false; ADOConnection_Excel.Connected:=False; ADOConnection_Excel.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source="'+ filename+'";Extended Properties="Excel 8.0;IMEX=1";Persist Security Info=False'; ADOConnection_Excel.Connected:=True; ADOConnection_Excel.GetTableNames(sl); if (sl.Count>0) and (sl.IndexOf('sheet1$')<>-1) then begin road:=ExtractFileDir(Application.Exename); ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+road+'\database\wxfp.mdb;Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password=nbeport2010;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;'; ADOConnection1.Connected:=True; ADOConnection1.BeginTrans; cmd := TadoCommand.Create(application); cmd.Connection := dmdCustom.cnnCustom; // cmd.ParamCheck := false; ADOQuery_Excel.Close; ADOQuery_Excel.Sql.Text:='SELECT * FROM [sheet1$]'; ADOQuery_Excel.Open; ADOQuery_Excel.First; for i:=1 to ADOQuery_Excel.RecordCount do begin //判断是否要发票已经开过了 qry_RunSql.Close; qry_RunSql.SQL.text:='select bgd_no from wxInvoice where bgd_no=:HGBH and zfflag='''+'0'+''''; qry_RunSql.Parameters.ParamByName('HGBH').Value:= ADOQuery_Excel.fieldbyname('内部发票号').AsString; qry_RunSql.Open; if not qry_RunSql.Eof then begin showmessage('内部发票号:'+ADOQuery_Excel.fieldbyname('内部发票号').AsString+'已经开具!请在excel文件中删除'); ADOConnection_Excel.Connected:=False; exit; end; end; ADOQuery_Excel.Close; ADOQuery_Excel.Sql.Text:='SELECT * FROM [sheet1$]'; ADOQuery_Excel.Open; if ADOQuery_Excel.RecordCount>0 then begin ADOQuery_Excel.First; fapiao:= ''; advprgrsbr1.Min:=1; advprgrsbr1.Max:= ADOQuery_Excel.RecordCount-1; for i:=1 to ADOQuery_Excel.RecordCount do begin advprgrsbr1.Position:=i; Application.ProcessMessages; if ADOQuery_Excel.fieldbyname('内部发票号').AsString = fapiao then begin // 多行的情况下,判断行数 qry_excel2.Close; qry_excel2.SQL.text:='SELECT * FROM [sheet1$] where 内部发票号=:fp'; qry_excel2.Parameters.ParamByName('fp').Value:= fapiao; qry_excel2.Open; hangshu:= qry_excel2.RecordCount; //处理明细行 //匹配国税编码及名称 qry.Close; qry.SQL.Text:='select * from tblCmcode where code=:code'; qry.Parameters.ParamByName('code').value:=ADOQuery_Excel.fieldbyname('HS编码').AsString; qry.Open; //只考虑FOB情况 zj:= ADOQuery_Excel.fieldbyname('报关金额').AsFloat; usd_hz:=usd_hz +strtofloat(format('%0.2f', [zj])); zj_rmb:= hl * zj; zj_rmb:= strtofloat(format('%0.2f', [zj_rmb])); dj_rmb:= zj_rmb / ADOQuery_Excel.fieldbyname('报关数量').AsFloat; rmb_hz:= rmb_hz + zj_rmb; usd_hz_rmb:=strtofloat(format('%0.2f', [usd_hz* hl])); //汇总美元金额 直接 乘以 汇率 if j = hangshu then begin chayi:= usd_hz_rmb - rmb_hz; chayi:= strtofloat(format('%0.2f', [chayi])); end; sql_mx:= 'insert into wxInvoiceDetail(invCode,invNumber,hscode,goodsName,model,unit,price,quantity,amount,'+ 'gscode,gsname,depname,rmb_dj,jsAmount,XH) values(''' + code + ''',''' + number + ''',''' + ADOQuery_Excel.fieldbyname('HS编码').AsString + ''',''' + ADOQuery_Excel.fieldbyname('报关品名').AsString + ''',''' + ADOQuery_Excel.fieldbyname('规格型号').AsString + ''',''' + '个' + ''',' + ADOQuery_Excel.fieldbyname('报关单价').AsString + ',' + ADOQuery_Excel.fieldbyname('报关数量').AsString + ',' + format('%0.2f', [zj]) + ',''' + qry.fieldbyname('GScode').AsString + ''',''' + qry.fieldbyname('name').AsString + ''',''' + qry.fieldbyname('depname').AsString + ''',' + format('%0.6f', [dj_rmb]) + ',' + format('%0.2f', [zj_rmb+chayi]) + ',''' + inttostr(j) + ''')' ; j:=j+1; // sql_mx := StringReplace(sql_mx, '''','''''', [rfReplaceAll]); cmd.CommandText := sql_mx; cmd.Execute(); //处理人民币合计 更新到表头里 capital_hz:= MoneyConvert(usd_hz_rmb); sql_mx:='update wxInvoice set rmb=:renminbi,capital=:capital,amt=:amt where bgd_no=:bgd_no'; cmd.CommandText:= sql_mx; cmd.Parameters.ParamByName('renminbi').Value:= formatfloat('0.00',usd_hz_rmb); cmd.Parameters.ParamByName('capital').Value:= capital_hz; cmd.Parameters.ParamByName('amt').Value:= usd_hz; cmd.Parameters.ParamByName('bgd_no').Value:= ADOQuery_Excel.FieldValues['内部发票号']; cmd.Execute(); fapiao:= ADOQuery_Excel.FieldValues['内部发票号']; end else begin if trim(ADOQuery_Excel.fieldbyname('内部发票号').AsString)='' then break; //初始化需要累加的值 j:=1; rmb_hz :=0; usd_hz:=0; qry.Close; //获取发票号码 代码 strSql := 'select startNumber,pcs,remain,invCode,id from wxFpkc' + ' where remain >0 ' + ' order by id'; qry.SQL.Text := strSql; qry.Open; if qry.Eof then begin qry.Close; showmessage('无可用的发票库存信息,请导入发票!'); exit; end; Number := formatfloat('00000000',strtoint(qry.Fields[0].AsString) +qry.Fields[1].AsInteger - qry.Fields[2].AsInteger); code:= qry.Fields[3].AsString; //判断汇率有没有设置过 kprq:= ADOQuery_Excel.fieldbyname('开票日期').AsString; kprq:= StringReplace (kprq, '.', '-', [rfReplaceAll]); yearmonth:=FormatdateTime('yyyymm',strtodatetime(kprq)); qry_RunSql.Close; qry_RunSql.SQL.text:='select * from tblBicode where code=:code and VALIDMONTH=:VALIDMONTH'; qry_RunSql.Parameters.ParamByName('VALIDMONTH').Value:= yearmonth; qry_RunSql.Parameters.ParamByName('code').Value:= ADOQuery_Excel.fieldbyname('币别').AsString; qry_RunSql.Open; if qry_RunSql.Eof then begin showmessage(yearmonth+'汇率没有设置,请设置!'); exit; end else hl:= qry_RunSql.fieldbyname('hl').asfloat/100; //处理明细行 //匹配国税编码及名称 qry.Close; qry.SQL.Text:='select * from tblCmcode where code=:code'; qry.Parameters.ParamByName('code').value:=ADOQuery_Excel.fieldbyname('HS编码').AsString; qry.Open; //只考虑FOB情况 zj:= ADOQuery_Excel.fieldbyname('报关金额').AsFloat; usd_hz:=usd_hz +strtofloat(format('%0.2f', [zj])); zj_rmb:= hl * zj; zj_rmb:= strtofloat(format('%0.2f', [zj_rmb])); dj_rmb:= zj_rmb / ADOQuery_Excel.fieldbyname('报关数量').AsFloat; rmb_hz:= rmb_hz + zj_rmb; //处理汇总差异 usd_hz_rmb:=strtofloat(format('%0.2f', [usd_hz* hl])); //汇总美元金额 直接 乘以 汇率 if j = hangshu then begin chayi:= usd_hz_rmb - rmb_hz; chayi:= strtofloat(format('%0.2f', [chayi])); end; //处理人民币合计 capital_hz:= MoneyConvert(usd_hz_rmb); sql_mx:= 'insert into wxInvoiceDetail(invCode,invNumber,hscode,goodsName,model,unit,price,quantity,amount,'+ 'gscode,gsname,depname,rmb_dj,jsAmount,XH) values(''' + code + ''',''' + number + ''',''' + ADOQuery_Excel.fieldbyname('HS编码').AsString + ''',''' + ADOQuery_Excel.fieldbyname('报关品名').AsString + ''',''' + ADOQuery_Excel.fieldbyname('规格型号').AsString + ''',''' + '个' + ''',' + ADOQuery_Excel.fieldbyname('报关单价').AsString + ',' + ADOQuery_Excel.fieldbyname('报关数量').AsString + ',' + format('%0.2f', [zj]) + ',''' + qry.fieldbyname('GScode').AsString + ''',''' + qry.fieldbyname('name').AsString + ''',''' + qry.fieldbyname('depname').AsString + ''',' + format('%0.6f', [dj_rmb]) + ',' + format('%0.2f', [zj_rmb+chayi]) + ',''' + inttostr(j) + ''')' ; j:=j+1; cmd.CommandText := sql_mx; cmd.Execute(); //处理表头信息 qry1.Close; qry1.SQL.Text:='select top 1 * from tblCompany'; qry1.Open; strSql:= 'insert into wxInvoice(taxNumber,invType,invCode,invNumber,kpDate,bgd_no,clientCode,CustName,amt,operator,payee,fhr,remark,'+ 'crny,exchange,rmb,contractNo,jckrq,capital) values(''' + '91330201610258252F.1' + ''',''' + '27310' + ''',''' + code + ''',''' + Number + ''',''' + kprq + ''',''' + ADOQuery_Excel.fieldbyname('内部发票号').AsString + ''',''' + ADOQuery_Excel.fieldbyname('客户名称').AsString + ''',''' + ADOQuery_Excel.fieldbyname('客户名称').AsString + ''',' + formatfloat('0.00',usd_hz) + ',''' + qry1.fieldbyname('kpr').AsString + ''',''' + qry1.fieldbyname('skr').AsString + ''',''' + qry1.fieldbyname('fhr').AsString + ''',''' + ADOQuery_Excel.fieldbyname('备注').AsString + ''',''' + ADOQuery_Excel.fieldbyname('币别').AsString + ''',' + floattostr(hl*100) + ',''' + formatfloat('0.00',usd_hz_rmb) + ''',''' + ADOQuery_Excel.fieldbyname('合同号').AsString + ''',''' + kprq + ''',''' + capital_hz + ''')' ; //strSql := StringReplace(strSql, '''','''''', [rfReplaceAll]); cmd.CommandText := strSql; cmd.Execute(); //更新库存,并以此为基准更新国税库存 strSql := 'update wxFpkc set remain=remain-1'; cmd.CommandText := strSql; cmd.Execute(); strSql := 'update wxFpkc ' + ' set crtNumber= right( ''00000000'' +cstr( cdbl(endNumber )-remain +1) ,8) '; cmd.CommandText := strSql; cmd.Execute(); strSql := 'delete from wxFpkc where remain=0'; cmd.CommandText := strSql; cmd.Execute(); fapiao:= ADOQuery_Excel.FieldValues['内部发票号']; end; ADOQuery_Excel.Next; // 更新发票库存 end; ADOConnection1.CommitTrans; //*******//提交到后台数据库 end; end; except ADOConnection1.RollbackTrans; showmessage(e.Message); ADOConnection1.Connected:=false; ADOConnection_Excel.Connected:=False; end; ADOConnection_Excel.Connected:=False; // ADOConnection1.endtrans; ADOConnection1.Connected:=false; showmessage('导入成功!'); btnOpen.Enabled :=true; end; end; ```
Eclipse 编辑器的怪事
如下图 [img]http://dl.iteye.com/upload/attachment/605059/cff324a9-9d90-32df-9bcb-3b340c70a9f7.png[/img] 怎么去掉红色圈中的点
一个很奇葩怪事!
Ext.require(['Ext.data.*']); Ext.require(['Ext.util.*']); Ext.require(['Ext.Ajax']); Ext.onReady(function() { window.generateData = function(){ var data = [], i; //普通的ajax取数据 Ext.Ajax.request({ url: 'spiderchart', params: { LoginName:1 }, success: function(response) { var responseArray = Ext.decode(response.responseText); for (i = 0; i < 5; i++) { data.push({ name:'sdf', data1: i }); } } }); alert(data); //关键在这一行,我要是留在这什么问题都没有,要是把它删了,我画的图就是显示不出来, //谁能帮我想想是为啥呢?? return data; }; window.store = Ext.create('Ext.data.JsonStore', { fields: ['name', 'data1'], data: generateData() }); });
怪事啊!高手进来看看
点击链接没有反应,也没有报出错,是哪里问题啊! jsp代码: <body> <s:iterator value="products"> <s:url id="productmessage" action="showproducts.action"> <s:param name="id" value="{%id}"></s:param> </s:url> <a href="%{productmessage}"><s:property value="name"/></a><br/> <s:property value="price"/><br/> <s:property value="number"/> </s:iterator> </body> action代码: package com.shop.action; import com.shop.bean.Product; import com.opensymphony.xwork2.ActionContext; import java.util.Iterator; import java.util.List; public class ProductMessage { private String id; private Product product; public Product getProduct() { return product; } public void setProduct(Product product) { this.product = product; } public String getId() { return id; } public void setId(String id) { this.id = id; } @SuppressWarnings("unchecked") public String execute(){ List<Product> products=(List<Product>)ActionContext.getContext().getSession().get("products"); Iterator it=products.iterator(); while(it.hasNext()){ Product p=(Product)it.next(); if(p.getId().equals(new Integer(this.getId()))) {setProduct(p); break; } } return "success"; } } struts.xml配置: <action name="showproducts" class="com.shop.action.ProductMessage"> <result name="success">pmessage.jsp</result> 运行的时候上面的jsp页面能显示出来,可是点击jsp那个链接的时候一点反应都没有,是哪里出现了问题? [b]问题补充:[/b] 谢谢!可是点击时候又出了新问题,能帮我解决一下吗? java.lang.NumberFormatException: null 出现这个情况,好像是传值的时候出了错误,不能像上面那样把id的值传给action,那应该怎么解决
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱  极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件,   选择安装到U盘(按照操作无需更改) 三、重启进入pe系统   1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12)     选择需要启
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
Nginx 软件层面加强Nginx性能优化的面试问答和解决方案
Nginx 软件层面加强Nginx性能优化的面试问答和解决方案 去年我去爱卡汽车面试PHP,一轮和二轮面的都不错,在三轮面到Nginx的时候很多问题当时不知道怎么回答,确实没有深入学习过,花了一段时间的学习,终于能解答Nginx高性能优化的问题了,10月24号为了获得程序员勋章,发布了半个优化笔记,浏览到了1000+,受到这个鼓舞,我抽时间在仔细整理下关于Nginx性能优化的问题,我们从软件说起。...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
11月19日科技资讯|华为明日发布鸿蒙整体战略;京东宣告全面向技术转型;Kotlin 1.3.60 发布
「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。扫描上方二维码进入 CSDN App 可以收听御姐萌妹 Style 的人工版音频哟。 一分钟速览新闻点! 6G 专家组成员:速率是 5G 的 10 至 100 倍,预计 2030 年商用 雷军:很多人多次劝我放弃WPS,能坚持下来并不是纯粹的商业决定 ...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n
化繁为简 - 腾讯计费高一致TDXA的实践之路
导语:腾讯计费是孵化于支撑腾讯内部业务千亿级营收的互联网计费平台,在如此庞大的业务体量下,腾讯计费要支撑业务的快速增长,同时还要保证每笔交易不错账。采用最终一致性或离线补...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
Java学习笔记(七十二)—— Cookie
概述 会话技术: 会话:一次会话中包含多次请求和响应 一次会话:浏览器第一次给服务器发送资源请求,会话建立,直到有一方断开为止 功能:在一次会话的范围内的多次请求间,共享数据 方式: 客户端会话技术:Cookie,把数据存储到客户端 服务器端会话技术:Session,把数据存储到服务器端 Cookie 概念:客户端会话技术,将数据存储到客户端 快速入门: 使用步骤: 创建C
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯
程序员该看的几部电影
##1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
@程序员,如何花式构建线程?
作者 |曾建责编 | 郭芮出品 | CSDN(ID:CSDNnews)在项目和业务的开发中,我们难免要经常使用线程来进行业务处理,使用线程可以保证我们的业务在相互处理之间可以保证原子性...
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布了 2019年国民经济报告 ,报告中指出:年末中国大陆总人口(包括31个
强烈推荐10本程序员在家读的书
很遗憾,这个鼠年春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终
Linux自学篇——linux命令英文全称及解释
man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 显示当前目录 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mk
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
文章目录1. 前言2. 数据下载3. 数据处理4. 数据可视化 1. 前言 今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。 2月6日追记:本文发布后,腾讯的数据源多次变更u
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
Java坑人面试题系列: 包装类(中级难度)
Java Magazine上面有一个专门坑人的面试题系列: https://blogs.oracle.com/javamagazine/quiz-2。 这些问题的设计宗旨,主要是测试面试者对Java语言的了解程度,而不是为了用弯弯绕绕的手段把面试者搞蒙。 如果你看过往期的问题,就会发现每一个都不简单。 这些试题模拟了认证考试中的一些难题。 而 “中级(intermediate)” 和 “高级(ad
Spring Boot 2.x基础教程:使用JdbcTemplate访问MySQL数据库
在第2章节中,我们介绍了如何通过Spring Boot来实现HTTP接口,以及围绕HTTP接口相关的单元测试、文档生成等实用技能。但是,这些内容还不足以帮助我们构建一个动态应用的服务端程序。不论我们是要做App、小程序、还是传统的Web站点,对于用户的信息、相关业务的内容,通常都需要对其进行存储,而不是像第2章节中那样,把用户信息存储在内存中(重启就丢了!)。 对于信息的存储,现在已经有非常非常多...
基于Python的人脸自动戴口罩系统
目录 1、项目背景 2、页面设计 3、器官识别 4、退出系统 1、项目背景 2019年新型冠状病毒感染的肺炎疫情发生以来,牵动人心,举国哀痛,口罩、酒精、消毒液奇货可居。 抢不到口罩,怎么办?作为技术人今天分享如何使用Python实现自动戴口罩系统,来安慰自己,系统效果如下所示: 本系统的实现原理是借助 Dlib模块的Landmark人脸68个关键点检测库轻松识别出人脸五官
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
相关热词 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数 c#日期精确到分钟 c#自定义异常必须继承 c#查表并返回值 c# 动态 表达式树 c# 监控方法耗时 c# listbox c#chart显示滚动条
立即提问