数据库执行insert语句,显示对象无效

在以前创建好数据库,里面有我以前创建的其他表,这些表可以进行插入查询,,,但是最近创建一个新表执行插入一条信息,,然而显示对象名无效,,在线急等图片说明图片说明图片图片图片

2个回答

图片完全看不清楚,希望别的朋友能看!!!

图片是真的看不清,,,,一点都看不清

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在数据库中创建一个新表执行插入一条信息,,然而显示对象名无效
在以前创建好数据库,里面有我以前创建的其他表,这些表可以进行插入查询,,,但是最近创建一个新表执行插入一条信息,,然而显示对象名无效![图片](https://img-ask.csdn.net/upload/201708/13/1502602201_425667.jpg)![图片](https://img-ask.csdn.net/upload/201708/13/1502602230_261481.jpg)![图片](https://img-ask.csdn.net/upload/201708/13/1502602278_632003.jpg)
用C#使用insert语句向数据库存储内容,用的是char类型,为什么输入中文就列名无效,输入数字就可以存储
![图片说明](https://img-ask.csdn.net/upload/201904/13/1555146350_625585.png)![图片说明](https://img-ask.csdn.net/upload/201904/13/1555146353_321649.png)![图片说明](https://img-ask.csdn.net/upload/201904/13/1555146358_299136.png) 分割线————————————————————————分割线 我如果用户名输入1234,那么就可以存储到数据库中,但是如果我输入张三,就会说列名无效,同理,年龄也是纯数字,但是输入60也会报列名无效。 不知道是为什么,希望有大神可以解答
spring-boot+mybatis @Transactional事务管理不起作用
# 问题描述: * services代码如下,运行后第一条insert语句(小明)插入表中,第二条insert(小王)未插入表中 ``` @Service public class UserInfoServiceImpl implements IUserInfoService { @Override @Transactional public List<User> listUser() { userDao.insert(new User(100001,"小明","123","123321123")); int a = 1/0; //测试事物管理 userDao.insert(new User(400001,"小王","123","123321123")); return userDao.listUserInfo(); } } ``` # 问题背景: ## 1. spring-boot + mybatis + jdk8 ## 2. 数据库mysql,表引擎为:InnoDB,项目以普通用户连接数据库 ## 3. 事务管理已开启 ``` import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @SpringBootApplication public class SmdemoApplication { public static void main(String[] args) { SpringApplication.run(SmdemoApplication.class, args); } } ``` ## 4. services类有注解,对应方法为public,方法内容未捕获异常,该方法由外部类调用 ``` @Service public class UserInfoServiceImpl implements IUserInfoService { @Resource private UserMapper userDao; @Override @Transactional(rollbackFor=Exception.class) public List<User> listUser() { userDao.insert(new User(100001,"小明","123","123321123")); int a = 1/0; userDao.insert(new User(400001,"小明","123","123321123")); return userDao.listUserInfo(); } } ``` 在网上找到的所有方法都试过了,均无效,还请高手赐教。
oracle操作不同服务器上的sql server2000
我使用透明网关把oracle连接sql server2000,在oracle上做了个触发器绑定到一张表A,表A如果insert或者update将数据同步到sql server2000上,结果insert成功了,update部分语句一直编译不通过,语法有问题!下面图中update中的code与status一直说标示符无效,语法不知道怎么写?(有没有做过类似的数据库问题帮忙下,谢谢)![图片说明](https://img-ask.csdn.net/upload/201510/12/1444634602_855401.png)
sql语句查询存储过程的内容
我是用的oracle数据库 在pl/sql中使用select text from user_source where name='pro_emp';语句查找存储过程的内容结果查出来是空的,换了DBA角色也不行,最后我把text换成*,却查出来了,郁闷。。。。。求解 还有一个问题:我创建的包和包体在右边的packages的文件树形结构下的图标上面都有一个红色的叉号,编译的时候没有错误调用包,提示创建的包无效。。。这是哪里错了? --包 create or replace package my_pkg is pragma serially_reusable; v_sqlcode number; v_sqlerrm varchar2(2048); function add_dept(v_deptno number,v_dname varchar2,v_loc varchar2)return number; function cntdept(v_deptno varchar2); procedure read_dept; end my_pkg; --包体 create or replace package body my_pkg is pragma serially_reusable; v_flag number; cursor c_mvcursor is select * from dept; mvcursor c_mvcursor%rowtype; function cntdeptno(v_deptno dept.deptno%type) is begin select count(*) into v_flag from dept where deptno=v_deptno; if v_flag>0 then v_flag:=1; else v_flag:=0; end if; return v_flag; end cntdeptno; function add_dept(v_deptno number,v_dname,varchar2(10),v_loc varchar2(20)) is begin if cntdeptno(v_deptno)=0 then insert into dept values(v_deptno.v_dname,v_loc); return 1; else return 0; end if; exception when others then v_sqlcode := sqlcode; v_sqlerrm := sqlerrm; return -1; end add_dept; procedure read_dept is begin for c_mvcursor in mvcursor loop v_deptno := c_mvcursor.deptno; v_dname := c_mvcursor.dname; dbms_output.put_line(v_deptno||' '||v_dname); end loop; end read_dept; end my_pkg; --调用包 declare adddept number; begin adddept := my_pkg.add_dept(50,'dept1','loc1'); end;
ora-01722 无效数字 @字符
INSERT INTO XXXXX (PROGRAM_ID,HOME_CITY,CDR_TYPE,MSC,HEAD_CDR_LOST,MID_CDR_LOST,TAIL_CDR_LOST,TIME_OVERLAP,TIME_INTERRUPT,HEAD_DURA_ERR,MID_DURA_ERR,PIECES_DURA_ERR,DURA_EXCEED_ERR,INSERT_TIME,MON_DAY)SELECT 30009101,591,428 ,'1348207357@119216839',1,1,1,1,1,1,1,1,1,SYSDATE,DECODE(MOD(TO_NUMBER(TO_CHAR(SYSDATE,'MM')),4),0,4,MOD(TO_NUMBER(TO_CHAR(SYSDATE,'MM')),4))||TO_CHAR(SYSDATE,'DD') FROM DUAL; 执行上面插入语句时报错,问题出在'1348207357@119216839'字段的@字符上,将@字符删除的话就可以插入成功,MSC字段的类型为varchar2(41)。后来我尝试将表删除重构了一次,上面的语句又可是插入了,这是这么回事?? 有哪位大神能帮忙解答的。
急 Oracle ORA-00904 标识符无效问题
用的是 Oracle Database 10g Release 2 (10.2.0.1.0) 在执行插入的时候报错:java.sql.SQLException: ORA-00904: "ICOUT": 标识符无效。 但表中的确有这个字段。把SQL语句复制到PL/SQL Dev中就可以正常执行。弄了一天了,驱动也换过,语句也改过,但就是不行。那位大侠遇到过这个问题啊。 表结构: -- User Journal CREATE TABLE ic_journal ( icuid INTEGER REFERENCES ic_users (id), -- user UID icin NUMBER(19,0), -- UNIX time (UTC) when user came in session icout NUMBER(19,0) NOT NULL, -- UNIX time (UTC) when user get out session PRIMARY KEY (icuid, icin) ); 代码: String sql = "INSERT INTO ic_journal (icuid, icin, icout) VALUES (0, 1280977470671, 1280977470671)"; Statement st = conn.createStatement(); [b]st.executeUpdate(sql); [/b]// 报错
从Oracle的结果集rs通过getInt(1)取回递增值报错无效的列类型
<% request.setCharacterEncoding("gbk"); //解决中文乱码 String action = request.getParameter("action");//验证跳转方式是从submit按钮链接过来的,因为有name为action的值post if(action != null && action.equals("post")) { String title = request.getParameter("title"); String cont = request.getParameter("cont"); cont.replaceAll("\n", "<br>");//将文本输出的换行改为html形式,展示时才是换行的结构 Connection conn = DB.getConnection(); //设置conn来避免潜在的断电问题start conn.setAutoCommit(false); int rootid = 5; //用preparedstatement语句操作数据库插入语句start String sql = "insert into BBS values(seq_BBS.nextval,0,?,?,?,1,0,sysdate)"; PreparedStatement psmt = DB.createpsmt(conn,sql,Statement.RETURN_GENERATED_KEYS); //因为psmt的处理语句里有递增序列seq_BBS.nextval要处理 psmt.setInt(1, rootid); psmt.setString(2, cont); //所以可以返回这个要处理的递增值 psmt.setString(3, title); psmt.executeUpdate(); ///用preparedstatement语句操作数据库插入语句end ResultSet rsKeys = psmt.getGeneratedKeys(); //返回递增的值,因为只psmt处理了一条记录,所以返回值就是一个 rsKeys.next(); rootid = rsKeys.getInt(1); //通过取结果集的位置为1的值来拿出递增值 Statement stmt = DB.createstmt(conn); stmt.executeUpdate("update BBS set rootid = " + rootid + "where id =" + rootid); conn.commit(); conn.setAutoCommit(true); //设置conn来避免潜在的断电问题send DB.close(rsKeys); DB.close(stmt); DB.close(psmt); DB.close(conn); response.sendRedirect("Show_BBS_Tree2.jsp"); } %>
参数 13 无效:参数索引超出范围
![图片说明](https://img-ask.csdn.net/upload/201905/05/1557063700_391220.png) ![图片说明](https://img-ask.csdn.net/upload/201905/05/1557064211_194330.png) 在页面往数据库添加数据的时候,出现这个错误,在网上找解决方法,都是说什么 ? 不用加引号,我也看了一下自己的sql语句,?没加引号啊。报的错误是参数13 INSERT_TIME ,我这个参数13 是一个日期,数据库是 TIMESTAMP 类型的,然后取值用函数 F_GET_MAX_KEY ``` CREATE OR REPLACE FUNCTION "F_GET_MAX_KEY" ("IC_NAME" VARCHAR(255) ) RETURNS VARCHAR(255) BEGIN /** 描述:根据序列生成表的流水主键 参数:IC_NAME:标识名(忽略大小写). 'SHORT':YYMMDD+序列SEQ_MAXKEY值; 'LONG':YYYYMMDDHHMISSFF3+序列SEQ_MAXKEY值; 其他:YYYYMMDDHHMISS+序列SEQ_MAXKEY值; **/ DECLARE RESULTSTR VARCHAR (255) DEFAULT ''; SET IC_NAME = UPPER(IC_NAME) ; IF UPPER(IC_NAME) = 'SHORT' THEN SELECT TO_CHAR (CURRENT TIMESTAMP, 'YYMMDD') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0') INTO RESULTSTR FROM SYSIBM.DUAL; ELSEIF UPPER(IC_NAME) = 'LONG' THEN SELECT TO_CHAR (CURRENT TIMESTAMP, 'YYYYMMDDHHMISSFF3') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0') INTO RESULTSTR FROM SYSIBM.DUAL; ELSE SELECT TO_CHAR (SYSDATE, 'YYYYMMDDHHMISS') || LPAD (NEXTVAL FOR SEQ_MAXKEY, 4, '0') INTO RESULTSTR FROM SYSIBM.DUAL; END IF; RETURN RESULTSTR; END; ``` ``` DBHelper.execute( "insert into CUST_UNION( CUST_NO_CORE,CUST_NAME,CUST_TYPE,CERT_TYPE,CERT_ID,BIRTHDAY, SEX,DEPOSIT_BALANCE,CUST_STATUS,MANAGER_USER_ID, MANAGER_DEPT_ID,INSERT_DEPT,INSERT_USER,INSERT_TIME,REMARK) values( f_get_max_key('short'),?,?,?,?, f_get_max_key('short'),?,?,?,?,?,?,? ,f_get_max_key('long'),?)", CUST_NAME,CUST_TYPE,CERT_TYPE,CERT_ID,BIRTHDAY,SEX,DEPOSIT_BALANCE,CUST_STATUS,MANAGER_USER_ID,MANAGER_DEPT_ID,INSERT_DEPT,INSERT_USER,INSERT_TIME,REMARK); ``` 求大神 解释说说什么情况?
oracle 无效的列索引
数据库连接类 public class Conn { public Statement astmt = null; public PreparedStatement stmt = null; public CallableStatement cstmt = null; public ResultSet rs = null; private Connection con = null; // public static String context = null; public Conn() { try { // JndiSource ds = new JndiSource(); Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; con = con = DriverManager.getConnection(url, "jxhx", "jxhx"); // con = ds.getDataSource(); con.setAutoCommit(false); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } public void getAStatement() throws SQLException { astmt = con.createStatement(); } // 一般调用 public void setStatement(String statment) throws SQLException { stmt = con.prepareStatement(statment); } // 大数据量调用(不可滚动的结果集) public void setRStatement(String statment) throws SQLException { stmt = con.prepareStatement(statment, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); } // 大数据量调用(可滚动的结果集) public void setNRStatement(String statment) throws SQLException { stmt = con.prepareStatement(statment, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); } // 调用存储过程 public void setCStatement(String cstatment) throws SQLException { cstmt = con.prepareCall(cstatment); } // 关闭数据库连接 public void close() throws SQLException { if (this.rs != null) try { this.rs.close(); this.rs = null; } catch (Exception e) { } if (this.stmt != null) try { this.stmt.close(); this.stmt = null; } catch (Exception e) { } if (this.cstmt != null) try { this.cstmt.close(); this.cstmt = null; } catch (Exception e) { } if (this.astmt != null) try { this.astmt.close(); this.astmt = null; } catch (Exception e) { } if (this.con != null) try { this.con.close(); this.con = null; } catch (Exception e) { } System.out.println("com_boco_db_DataAccess_close_Done!"); } public void rollBack() throws SQLException { con.rollback(); } public void commit() throws SQLException { con.commit(); } public Connection getConnection() { return con; } public int getRecordCount(String SQL) throws SQLException { int retValue = 0; try { this.setRStatement(SQL); this.rs = this.stmt.executeQuery(); while (this.rs.next()) { retValue = this.rs.getInt(1); } } catch (Exception ex) { ex.printStackTrace(); } finally { return retValue; } } } public class PstnService { private Conn databassconn; private InputStream in; private PstnInfo pin; public PstnService(File file) { databassconn = new Conn(); try { pin = new PstnInfo(file); in = new FileInputStream(file); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (JXLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 业务类 public int insertPartition_1() throws Exception { int k = 0; int PARTITION_1 = 0; List list = pin.setPstnDTO(); // for (int i = 0; i < list.size(); i++) { PstnDTO pd = (PstnDTO) list.get(0); String sql = "select count(PARTITION_1) from Tel_res_partition_1 where PARTITION_1_NAME=?"; try { databassconn.setStatement(sql); databassconn.stmt.setString(1, pd.getPSTN_NAME()); databassconn.rs = databassconn.stmt.executeQuery(); while (databassconn.rs.next()) { System.out.println(databassconn.rs.getInt(1)); if (databassconn.rs.getInt(1) != 0) { String sql2 = "update TEL_RES_PARTITION_1 set PARTITION_1_NAME=?,VER_NUMBER=?,INSERT_TIME=systdate,INSERT_FLAG=?,USERNAME=?" + " where PARTITION_1=?"; databassconn.setStatement(sql2); System.out.print(sql2); databassconn.stmt.setString(1, pd.getPSTN_NAME()); databassconn.stmt.setInt(2, 0); databassconn.stmt.setInt(3, 0); databassconn.stmt.setString(4, null); databassconn.stmt.setInt(5, getid()); databassconn.stmt.executeUpdate(); databassconn.commit(); k = 1; } else { String sql1 = "INSERT INTO TEL_RES_PARTITION_1(PARTITION_1,PARTITION_1_NAME,VER_NUMBER,INSERT_TIME,INSERT_FLAG,USERNAME )" + "VALUES(?,?,?,systdate,?,?)"; databassconn.setStatement(sql1); databassconn.stmt.setInt(1, getid()); System.out.println(pd.getPSTN_NAME()); [color=blue][b]databassconn.stmt.setString(2, pd.getPSTN_NAME());[/b][/color] databassconn.stmt.setInt(3, 0); databassconn.stmt.setInt(4, 0); databassconn.stmt.setString(5, null); k = databassconn.stmt.executeUpdate(); databassconn.commit(); System.out.println("" + k); k = 1; } } databassconn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return k; } 每次执行都会出现 0 顺德本地交换局 java.sql.SQLException: 无效的列索引 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:227) at oracle.jdbc.driver.OraclePreparedStatement.setStringInternal(OraclePreparedStatement.java:4596) at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:4559) at com.dbconn.service.PstnService.insertPartition_1(PstnService.java:160) at com.dbconn.Testconn.main(Testconn.java:24)0 我的表结构是 PARTITION_1为主键,无索引。 PstnService.java:160蓝色部分 指点下 感激不尽,程序没有错误,就是在插入时这个错误 我用的是Oracle 10g ; 我的MSN和邮箱: wangbaoping@boco.com.cn [b]问题补充:[/b] 我的SQL语句没有问题,我在SQLplus上可以执行的 这个是表结构 字段标识 类型属性 功能简述 PARTITION_1 NUMBER(9) 区1 PARTITION_1_NAME VARCHAR2(50) 区1名称 VER_NUMBER NUMBER(9) vernumber INSERT_TIME DATE 倒入时间 INSERT_FLAG NUMBER(6) 倒入标志'o'预提交 '1'实提交 USERNAME VARCHAR2(30) 工号
JSP里连接数据库实现数据插入出错 求帮助。
[color=red]首先有两个页面insert.jsp和insert-success.jsp, 在insert.jsp里面连接数据库dbs,把表stu中的数据输出,然后添加一条记录,添加之后,跳转到insert_success.jsp 输出添加之后的stu里的所有记录。[/color] [u][color=green]表结构如下:[/color][/u] [img]http://dl.iteye.com/upload/attachment/298878/abc47b80-1a07-3f4a-8f57-678f0f13059d.jpg[/img] [u][color=green]insert.jsp源码[/color][/u][code="java"]<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <%@ page import="java.sql.*"%> <html> <head> <title>Insert Record Test...</title> </head> <body> <p> <font color=green>data inserting test........</font> </p> <hr color="brown"> <form action="insert_success.jsp" method="post"> <table > <tr><td>input StuID</td> <td><input type=text name="no"></td></tr> <tr><td>input StuName</td> <td><input type=text name="name"></td></tr> <tr><td>input ChineseScore</td> <td><input type=text name="chiscore"></td></tr> <tr><td>input MathScore</td> <td><input type=text name="mathscore"></td></tr> <tr><td>input EngScore</td> <td><input type=text name="engscore"></td></tr> </table> <br> <input type="submit" value="click to add record"/> </form> <hr color="brown"> <br> <p> <font color=green>添加之前的数据记录:</font></p> <% try{ Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e){} String ConStr = "jdbc:oracle:thin:@" ; String ServerName = "localhost"; String url =ConStr+ServerName+":1521:dbs"; String SqlQuery = "SELECT * FROM stu"; Connection con = DriverManager.getConnection(url,"soo","qq"); Statement sql=con.createStatement(); ResultSet rs = sql.executeQuery(SqlQuery); out.print("<table >"); out.print("<TH>学号"); out.print("<TH>姓名"); out.print("<TH>语文"); out.print("<TH>数学"); out.print("<TH>英语"); while (rs.next()) { out.print("<tr>"); out.print("<td>"+rs.getInt("no")+"</td>"); out.print("<td>"+rs.getString("name")+"</td>"); out.print("<td>"+rs.getInt("chinese")+"</td>"); out.print("<td>"+rs.getInt("math")+"</td>"); out.print("<td>"+rs.getInt("english")+"</td>"); out.print("</tr>"); } out.print("</table>"); rs.close(); sql.close(); con.close(); %> </body> </html>[/code] [u][color=green]insert_success.jsp源码[/color][/u][code="java"]<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@ page import="java.sql.*" %> <html> <head> <title>New Records!</title> </head> <body> <br> <% try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e){} String name = request.getParameter("name"); String no=request.getParameter("no"); String chiscore = request.getParameter("chiscore"); String mathscore = request.getParameter("mathscore"); String engscore = request.getParameter("engscore"); out.print("<table border>"); out.print("<TH>StuID"); out.print("<TH>StuName"); out.print("<TH>ChineseScore"); out.print("<TH>MathScore"); out.print("<TH>EnglishScore"); String ConStr = "jdbc:oracle:thin:@"; String ServerName = "localhost"; String url = ConStr+ServerName+":1521:dbs"; Connection con = DriverManager.getConnection(url,"soo","qq"); Statement sql = con.createStatement(); String SQLQuery = "INSERT INTO stu VALUES("+no+",'"+name+"',"+chiscore+","+mathscore+","+engscore+")"; out.print(SQLQuery); ResultSet rs = sql.executeQuery(SQLQuery); while(rs.next()){ out.print("<tr>"); out.print("<td>"+rs.getInt("no")+"</td>"); out.print("<td>"+rs.getString("name")+"</td>"); out.print("<td>"+rs.getInt("chinese")+"</td>"); out.print("<td>"+rs.getInt("math")+"</td>"); out.print("<td>"+rs.getInt("english")+"</td>"); out.print("</tr>"); } out.print("</table>"); rs.close(); con.close(); sql.close(); %> </body> </html>[/code] insert.jsp [img]http://dl.iteye.com/upload/attachment/298880/f80fcc0b-2eb4-3049-b682-4b02a73cf0f3.jpg[/img] [u][color=green]点击 click to add record之后出现如下错误:[/color][/u] [code="java"]HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: An exception occurred processing JSP page /insert_success.jsp at line 38 35: ResultSet rs = sql.executeQuery(SQLQuery); 36: while(rs.next()){ 37: out.print("<tr>"); 38: out.print("<td>"+rs.getInt("no")+"</td>"); 39: out.print("<td>"+rs.getString("name")+"</td>"); 40: out.print("<td>"+rs.getInt("chinese")+"</td>"); 41: out.print("<td>"+rs.getInt("math")+"</td>"); Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause javax.servlet.ServletException: java.sql.SQLException: ORA-00900: 无效 SQL 语句 org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.insert_005fsuccess_jsp._jspService(insert_005fsuccess_jsp.java:113) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause java.sql.SQLException: ORA-00900: 无效 SQL 语句 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283) oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278) oracle.jdbc.driver.T4C8Odscrarr.receive(T4C8Odscrarr.java:214) oracle.jdbc.driver.T4CStatement.doDescribe(T4CStatement.java:723) oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3276) oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:1914) oracle.jdbc.driver.OracleResultSet.getInt(OracleResultSet.java:1563) org.apache.jsp.insert_005fsuccess_jsp._jspService(insert_005fsuccess_jsp.java:92) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs. -------------------------------------------------------------------------------- Apache Tomcat/6.0.29[/code] 实在不知道哪里错了。。希望路过的大家帮忙看下。
myeclipse加载报表配置xml文件失败,项目无法正常运行,怎么解决?
![图片说明](https://img-ask.csdn.net/upload/201904/11/1554983047_497110.png) ```<?xml version="1.0" encoding="UTF-8"?> <resources xmlns="http://www.wabacus.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wabacus.com ../xsd/wabacus.resources.xsd"> <resource key="invalid.isnotempty"> <![CDATA[#label#不能为空]]> </resource> <resource key="invalid.number"> <![CDATA[#data#不是合法数字]]> </resource> <resource key="invalid.age"> <![CDATA[#data#不是有效年龄]]> </resource> <resource key="clickorderbypage1.header"> <![CDATA[<font color='#3366FF'><i> 点击<u>工号</u>、<u>中文名</u>、<u>英文名</u>、<u>性别</u>、<u>年龄</u>、<u>出生日期</u>列的数据标题可以进行排序 </i></font>]]> </resource> <resource key="colselectedpage1.footer"> <![CDATA[<font color='#FF0000'>说明:<font color='#0000FF'> 点击页面中最右边列的向右箭头或“下载Excel”链接,可以选择要显示/下载的列 </font></font>]]> </resource> <resource key="typepromptpage1.header"> <![CDATA[<font color='#3366FF'><i>其中<u>工号</u>查询条件采用任意位置匹配,<u>中文名</u>查询条件采用起始位置匹配</i></font>]]> </resource> <resource key="typepromptpage2.footer"> <![CDATA[<font color='#3366FF'><i>其中<u>工号</u>查询条件采用任意位置匹配,<u>姓名</u>查询条件采用起始位置匹配</i></font>]]> </resource> <resource key="typepromptpage3.footer"> <![CDATA[<font color='#3366FF'><i>其中<u>工号</u>提示列采用任意位置匹配,<u>中文名</u>提示列采用起始位置匹配</i></font>]]> </resource> <resource key="rowselectpage2.report1.footer"> <![CDATA[<font color='#3366FF'><i>通过按住Ctrl键或Shift键用鼠标点击记录行进行多选</i></font>]]> </resource> <resource key="masterslavepage3.report1.header"> <![CDATA[<font color='#3366FF'><i>点击“部门编号”查看部门员工列表,点击“部门名称”查看部门详细资料</i></font>]]> </resource> <resource key="masterslavepage3_2.report1.footer"> <![CDATA[<font color='#3366FF'><i>点击“部门编号”查看部门员工列表</i></font>]]> </resource> <resource key="masterslavepage3_1.report1.footer"> <![CDATA[<font color='#3366FF'><i>点击“工号”查看员工详细资料</i></font>]]> </resource> <resource key="interceptorpage1.footer"> <![CDATA[<font color='#3366FF'><i> 1、访问报表时查看服务器控制台,通过<report/>的子标签<interceptor/>中配置的拦截器会在控制台中打印信息;<br/> 2、年龄查询条件输入值只能在10到20范围之内,超出后会被前置动作提示出错。 </i></font>]]> </resource> <resource key="interceptorpage2.footer"> <![CDATA[<font color='#3366FF'><i> 1、访问报表时查看服务器控制台,通过<report/>的属性interceptor所引用的在资源文件中定义的拦截器会在控制台中打印信息;<br/> 2、年龄查询条件输入值只能在10到20范围之内,超出后会被前置动作提示出错。 </i></font>]]> </resource> <resource key="interceptorpage3.footer"> <![CDATA[<font color='#3366FF'><i> 1、访问报表时查看服务器控制台,通过<report/>的属性interceptor所引用的拦截器JAVA类会在控制台中打印信息;<br/> 2、年龄查询条件输入值只能在10到20范围之内,超出后会被前置动作提示出错。 </i></font>]]> </resource> <resource key="title.label">员工信息列表</resource> <resource key="sequence.label">序号</resource> <resource key="no.label">工号</resource> <resource key="group.label">个人信息</resource> <resource key="name.label">姓名</resource> <resource key="sex.label">性别</resource> <resource key="age.label">年龄</resource> <resource key="birthday.label">出生日期</resource> <resource key="salary.label">工资</resource> <resource key="joinindate.label">入职日期</resource> <resource key="condition.txtno.label">工号</resource> <resource key="condition.txtage.label">年龄</resource> <resource key="l10npage.report1.footer"> <![CDATA[<font color='#3366FF'><i> 1、这里演示的是静态配置信息的本地化,对于从数据库取出的动态数据,如果要进行本地化,请参看《Wabacus框架入门与提高》文档<br/> 2、为两个查询条件都配置了校验,校验出错信息也支持本地化,校验规则与上面“客户端/服务器端校验”演示的报表一致。 </i></font>]]> </resource> <resource key="otherpage3.report1.header"> <![CDATA[ <a href="#" onclick="viewSelectedRadioValues();">查看“选择一”列选中值</a>&nbsp;|&nbsp;<a href="#" onclick="viewSelectedCheckboxValues();">查看“选择二”列选中值</a> ]]> </resource> <resource key="otherpage4_2.report1.footer"> <![CDATA[<br/><br/><font color='#3366FF'><i> 这里演示的功能按钮只是测试,虽然是“添加”或“修改”按钮,但不能对报表数据进行编辑,关于数据编辑功能的演示,请参看“数据编辑篇” </i></font>]]> </resource> <resource key="reportborderlistpage1.report5.footer"> <![CDATA[<br/><font color='red'> 注意:通过<report/>标签的bordercolor属性只能改变数据部分表格的边框颜色,如果要同时改变标题部分和外层表格的边框颜色,则需要通过修改 wabacus_system.css文件中的.cls-data-th-list、.cls-data-td-list的样式定义实现。 </font>]]> </resource> <resource key="cellresizepage.report1.header"> <![CDATA[<br/><font color='#FF0000'> 请将鼠标放在数据标题列各单元格之间进行左右移动,调整列宽</font> </font>]]> </resource> <resource key="cellresizepage.report2.footer"> <![CDATA[<br/><font color='#3366FF'> <b>说明:</b>对于复杂表头的报表,只能对顶层分组所在单元格以及没有参与列分组的列所在单元格进行移动,比如在这复杂表头报表中:<br/> &nbsp;&nbsp;&nbsp;&nbsp;<font color="red">“工号”、“年龄”、“入职日期”三列</font>属于没有参与列分组的列,所以可以对它们所在单元格进行移动;<br/> &nbsp;&nbsp;&nbsp;&nbsp;<font color="red">“基本信息”分组</font>属于顶层分组,因为它不属于哪个分组的子分组,所以也可以对它所在单元格进行移动;<br/> &nbsp;&nbsp;&nbsp;&nbsp;<font color="red">“中文名”、“英文名”、“性别”三列</font>是参与了列分组的列,所以不能对它们所在单元格进行移动;<br/> &nbsp;&nbsp;&nbsp;&nbsp;<font color="red">“姓名”分组</font>不是顶层分组,因为它是父分组“基本信息”的一部分,所以不能对它所在单元格进行移动。 </font>]]> </resource> <resource key="celldragpage1.header"> <![CDATA[<br/><font color='#FF0000'> 请将鼠标放在数据标题列,点击后进行拖动</font> </font>]]> </resource> <resource key="interceptorpage2.report1.interceptor" type="com.wabacus.config.resource.InterceptorRes"> <interceptor> <imports> <import>com.wabacus.util.*</import> <import>java.util</import> </imports> <preaction> <![CDATA[ String age=rrequest.getStringAttribute("txtage",""); if(!age.equals("")) { try { int iage=Integer.parseInt(age); if(iage<10||iage>20) { rrequest.getWResponse().getMessageCollector().alert("输入的年龄:"+age+"起出范围,只能输入10到20之间的数字",null,true); } }catch(NumberFormatException nfe) { rrequest.getWResponse().getMessageCollector().alert("输入的年龄:"+age+"不是合法数字",null,true); } } System.out.println(new Date()+":::执行完前置动作------------------"); ]]> </preaction> <postaction> <![CDATA[ System.out.println(new Date()+":::执行完后置动作-------------------"); ]]> </postaction> </interceptor> </resource> <!-- --> <resource key="editablelistreportpage1.footer"> <![CDATA[<br/><br/><font color='#3366FF'><i> “省”、“市”、“县”三列为下拉框,且是关联下拉框</i></font>]]> </resource> <resource key="editabledetailpage2.footer"> <![CDATA[<br/><br/></br> <font color='#ff0000'>注意:</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color='#3366FF'> 1、在这种编辑方式中需要先点击“修改”按钮才能修改数据;<br/><br/> &nbsp;&nbsp;&nbsp;&nbsp; 2、因为此报表的“简介”列是大字段类型,如果是Oracle数据库,且采用的不是oracle10g的jdbc驱动,则可能不能正常的完成添加操作,需要将配置文件中此报表的 <insert/>标签配置的SQL语句:insert into ...后面加上where deptno=@{deptno__old},即变为如下形式: insert into tbl_department(guid=uuid{},@{deptno},@{deptname},@{manager},@{builtdate},@{performance},@{description}) where deptno=@{deptno__old};然后重新启动即可。 </font>]]> </resource> <resource key="editpartcolpage1.footer"> <![CDATA[<br/><br/></br> <font color='#ff0000'>说明:</font><br/>&nbsp;&nbsp;&nbsp;&nbsp;<font color='#3366FF'> 1、修改数据时:“工号”、“姓名”、“所属部门”三列不允许修改<br/> &nbsp;&nbsp;&nbsp;&nbsp; 2、添加数据时,“性别”、“出生日期”两列不允许添加 </font>]]> </resource> <resource key="coldefaultvaluepage1.report1.footer"> <![CDATA[<br/><br/></br> <font color='#ff0000'>说明:</font><br/><font color='#0000FF'> &nbsp;&nbsp;&nbsp;&nbsp;“姓名”列默认值为“无名”;<br/> &nbsp;&nbsp;&nbsp;&nbsp;“年龄”列默认值为60;<br/> &nbsp;&nbsp;&nbsp;&nbsp;“出生日期”列默认值为1980-09-23<br/> &nbsp;&nbsp;&nbsp;&nbsp;“工资”列默认值为1000<br/> &nbsp;&nbsp;&nbsp;&nbsp;“省”列默认值为广东<br/> &nbsp;&nbsp;&nbsp;&nbsp;“市”列默认值为深圳<br/> &nbsp;&nbsp;&nbsp;&nbsp;“县”列默认值为福田<br/> </font>]]> </resource> <resource key="inputboxdefaultvaluepage1.report1.footer"> <![CDATA[<br/><br/></br> <font color='#ff0000'>说明:</font><br/><font color='#0000FF'> &nbsp;&nbsp;&nbsp;&nbsp;“姓名”列的输入框默认值为“无名”;<br/> &nbsp;&nbsp;&nbsp;&nbsp;“年龄”列的输入框默认值为60;<br/> &nbsp;&nbsp;&nbsp;&nbsp;“出生日期”列的输入框默认值为1980-09-23<br/> &nbsp;&nbsp;&nbsp;&nbsp;“工资”列的输入框默认值为1000<br/> &nbsp;&nbsp;&nbsp;&nbsp;“省”列的输入框默认值为广东<br/> &nbsp;&nbsp;&nbsp;&nbsp;“市”列的输入框默认值为深圳<br/> &nbsp;&nbsp;&nbsp;&nbsp;“县”列的输入框默认值为福田<br/> </font>]]> </resource> <resource key="editablemasterslavepage1.report3.footer"> <![CDATA[<br/><br/> <font color='#ff0000'>说明:</font><br/><font color='#0000FF'> &nbsp;&nbsp;&nbsp;&nbsp; 1、“详细资料1”和“详细资料2”两个细览报表是两种不同编辑方式的细览报表,它们都依赖于“员工信息列表”报表。<br/> &nbsp;&nbsp;&nbsp;&nbsp; 2、“详细资料1”和“详细资料2”两个细览报表均配置为不允许修改“工号”列,其它列均允许修改。 </font>]]> </resource> <resource key="editableFormatListPage1.footer"> <![CDATA[<br/><br/><font color='#ff0000'>说明:</font><font color='#0000FF'>&nbsp;&nbsp;在只读模式时,将此报表的“工号”列格式化为一个超链接</font>]]> </resource> <resource key="editableFormatDetailPage1.footer"> <![CDATA[<br/><br/><font color='#ff0000'>说明:</font><font color="#0000ff">使用只读访问模式访问时将“部门编号”列格式化为一个超链接,使用默认访问模式时,将“部门经理”列格式化为一超链接</font>]]> </resource> <resource key="editableFormatDetailPage2.footer"> <![CDATA[<br/><br/><font color='#ff0000'>说明:</font><font color="#0000ff"> 使用只读访问模式访问时将“部门编号”列格式化为一个超链接,如果是添加记录模式,为部门编号赋默认值111111</font>]]> </resource> <resource key="savecallbackpage2.footer"> <![CDATA[<br/><br/> <font color='#ff0000'>说明:</font><br/><font color='#0000FF'> &nbsp;&nbsp;此报表配置了一个保存回调函数打印保存的数据,并且声明执行完此回调函数后不更新报表页面的显示,<br/> &nbsp;&nbsp;这对于保存后跳转到新页面比较有用,可以提高性能,因为这种情况没必要更新页面显示。 </font>]]> </resource> <resource key="popupsinglepage1.report1.footer"> <![CDATA[<br/> <font color='#ff0000'>说明:</font><font color='#0000FF'> “兴趣爱好”列为弹出输入框窗口编辑框 </font>]]> </resource> <resource key="popupmultiplypage1.report1.footer"> <![CDATA[<br/> <font color='#ff0000'>说明:</font><font color='#0000FF'> 通过弹出窗口选择了“兴趣爱好”列的值后,会同时设置“姓名”列和“部门”列的值 </font>]]> </resource> <resource key="pageinterceptorpage1.footer"> <![CDATA[<br/> <font color='#ff0000'>说明:</font><font color='#0000FF'> 访问页面或操作页面上报表时,请查看控制台上各拦截器的打印信息,可以了解到不同类型、不同位置上的页面拦截器各方法的执行顺序 </font>]]> </resource> <resource key="fileuploadlistpage1.report1.footer"> <![CDATA[<br/> <font color='#ff0000'>说明:</font><br/> <font color='#0000FF'> &nbsp;&nbsp;1、“图片文件上传”是指上传后以<img/>标签显示出来的上传类型。<br/> &nbsp;&nbsp;2、如果要测试这里的文件上传功能,请先修改此报表配置中为此列配置的上传路径到合适路径 </font>]]> </resource> <resource key="fileuploadlistpage1.report2.footer"> <![CDATA[<br/> <font color='#ff0000'>说明:</font><br/><font color='#0000FF'> &nbsp;&nbsp;1、“WEB文件上传”是指上传后能通过URL在浏览器中访问到,Wabacus框架在上传这种类型的文件时,会根据用户配置的rooturl属性构造出此文件的访问URL;<br/> &nbsp;&nbsp;2、如果要测试这里的文件上传功能,请先修改此报表配置中为此列配置的上传路径到合适路径 </font>]]> </resource> <resource key="fileuploadlistpage1.report3.footer"> <![CDATA[<br/> <font color='#ff0000'>说明:</font><br/><font color='#0000FF'> &nbsp;&nbsp;1、“普通文件上传”就是指一般的文件上传功能,Wabacus框架上传这种类型的文件时,会在上传后返回被上传文件在服务器中的绝对路径; &nbsp;&nbsp;2、如果要测试这里的文件上传功能,请先修改此报表配置中为此列配置的上传路径到合适路径 </font>]]> </resource> <resource key="fileuploadlistpage1.report4.footer"> <![CDATA[<br/> <font color='#ff0000'>说明:</font><font color='#0000FF'> “上传后文件改名”对上面三种类型的文件上传操作都有效,是指将文件上传到服务器后,框架自动对文件进行更名。<br/> &nbsp;&nbsp;更名的类型包括如下几种:<br/> &nbsp;&nbsp;&nbsp;&nbsp;1、常量字符串;<br/> &nbsp;&nbsp;&nbsp;&nbsp;2、{date}:以当前日期做为文件名;<br/> &nbsp;&nbsp;&nbsp;&nbsp;3、{time}:以当前时间做为文件名;<br/> &nbsp;&nbsp;&nbsp;&nbsp;4、{timestamp}:以当前日期时间的毫秒数做为文件名,可以保持每次上传的文件名不重复。 </font>]]> </resource> <resource key="clobpage1.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><font color='#0000FF'>“简介”列即为大字符串类型字段。</font>]]> </resource> <resource key="formpartcoldetail1.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><br/> <font color='#0000FF'> &nbsp;&nbsp;编辑时,“婚否”、“工资”、“所属部门”三列不允许修改;<br/> &nbsp;&nbsp;添加时,“英文名”、“入职日期”两列不允许输入数据 </font>]]> </resource> <resource key="formpartcollistpage1.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><br/> <font color='#0000FF'> &nbsp;&nbsp;编辑时,“所属部门”、“省”、“市”、“县”四列不允许修改;<br/> &nbsp;&nbsp;添加时,“姓名”、“性别”两列不允许输入数据 </font>]]> </resource> <resource key="formcallbackdetailpage1.header"> <![CDATA[<br/><font color='#ff0000'>注意:</font> <font color='#0000FF'>如果要在照片列进行文件上传,请先修改此报表配置中为此列配置的上传路径到合适路径</font>]]> </resource> <resource key="formcallbacklistpage1.header"> <![CDATA[<br/><font color='#ff0000'>注意:</font> <font color='#0000FF'>如果要在照片列进行文件上传,请先修改此报表配置中为此列配置的上传路径到合适路径</font>]]> </resource> <resource key="masterslavepage1.report2.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font> <font color='#0000FF'>这里演示的主从关系是当主报表没有数据时,从报表仍然显示出来,这也是默认的主从关系</font>]]> </resource> <resource key="masterslavepage1.report4.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font> <font color='#0000FF'>这里演示的主从关系是当主报表没有数据时,从报表不显示出来</font>]]> </resource> <resource key="containerpermissionpage12.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><font color='#0000FF'>此页面上所有输入框都只读。</font>]]> </resource> <resource key="containerpermissionpage13.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><font color='#0000FF'>此页面上所有按钮都禁用,点击无效。</font>]]> </resource> <resource key="containerpermissionpage21.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><font color='#0000FF'>此页面上id为“vp1”的容器的标题授权为不显示出来。</font>]]> </resource> <resource key="containerpermissionpage41.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><font color='#0000FF'>此页面上id为“tab1”的tabpane容器配置了三个标签页显示三个报表,但第一个和第二个标签页的display权限设置为false,因此只显示了第三个标签页出来。</font>]]> </resource> <resource key="containerpermissionpage42.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font><font color='#0000FF'>此页面上id为“tab1”的tabpane容器配置了三个标签页显示三个报表,但第二个标签页的disabled权限设置为true,因此不能切换到这个标签页。</font>]]> </resource> <resource key="conditionrelatepage1.footer"> <![CDATA[<br/><font color='#ff0000'>说明:</font> <br><font color='#0000FF'>&nbsp;&nbsp;此页面共包括三个报表,其中报表一、报表二、报表三的“工号”查询条件关联,因为它们的此条件的name属性都是txtno</font> <br><font color='#0000FF'>&nbsp;&nbsp;报表一、报表三的“姓名”查询条件关联,因为它们的此条件的name属性都是txtname,但与报表二的“姓名”查询条件不关联,因为它的此查询条件的name为txtname1。</font> <br><font color='#0000FF'>&nbsp;&nbsp;报表一、报表三的“性别”查询条件不关联,因为它们的此条件的name属性不同</font> ]]> </resource> <resource key="Interceptor_saveinterceptorreport" type="com.wabacus.config.resource.InterceptorRes"> <interceptor> <imports> <import>java.util.*</import> </imports> <saveaction> <![CDATA[ List lstInsertData=rrequest.getLstInsertedData(rbean);//添加的记录集合 List lstInsertExternalVals=rrequest.getLstInsertedParamValues(rbean);//因为此报表为<insert/>配置了<external-values/> List lstUpdateData=rrequest.getLstUpdatedData(rbean);//修改的记录集合 List lstDeleteData=rrequest.getLstDeletedData(rbean);//删除的记录集合 if(lstInsertData!=null&&lstInsertData.size()>0||lstUpdateData!=null&&lstUpdateData.size()>0||lstDeleteData!=null&&lstDeleteData.size()>0) { System.out.println("--------------拦截器类型:资源项----------保存前置动作-------------------"); } Map mData; if(lstInsertData!=null&&lstInsertData.size()>0) {//当前在做添加数据的保存操作 Map mParamValues; for(int i=0;i<lstInsertData.size();i++) {//循环添加的每条记录 mData=(Map)lstInsertData.get(i); mParamValues=(Map)lstInsertExternalVals.get(i); if(mData==null) continue; System.out.println("第"+(i+1)+"条添加的记录:"); Iterator itKeys=mData.keySet().iterator(); while(itKeys.hasNext()) { String key=(String)itKeys.next(); String value=(String)mData.get(key); System.out.print("["+key+"="+value+"]"); } System.out.println(); System.out.println("此条记录对应的<params/>定义的变量值:"); itKeys=mParamValues.keySet().iterator(); while(itKeys.hasNext()) { String key=(String)itKeys.next(); String value=(String)mParamValues.get(key); System.out.print("["+key+"="+value+"]"); } System.out.println(); } } if(lstUpdateData!=null&&lstUpdateData.size()>0) {//当前在做修改数据的保存操作 for(int i=0;i<lstUpdateData.size();i++) { mData=(Map)lstUpdateData.get(i); if(mData==null) continue; System.out.println("第"+(i+1)+"条修改的记录:"); Iterator itKeys=mData.keySet().iterator(); while(itKeys.hasNext()) { String key=(String)itKeys.next(); String value=(String)mData.get(key); System.out.print("["+key+"="+value+"]"); } System.out.println(); } } if(lstDeleteData!=null&&lstDeleteData.size()>0) {//当前在做删除数据的保存操作 for(int i=0;i<lstDeleteData.size();i++) { mData=(Map)lstDeleteData.get(i); if(mData==null) continue; System.out.println("第"+(i+1)+"条删除的记录:"); Iterator itKeys=mData.keySet().iterator(); while(itKeys.hasNext()) { String key=(String)itKeys.next(); String value=(String)mData.get(key); System.out.print("["+key+"="+value+"]"); } System.out.println(); } } return super.doSave(rrequest,rbean,editbean); ]]> </saveaction> </interceptor> </resource> <resource key="Interceptor_saveinterceptorperrowpage1" type="com.wabacus.config.resource.InterceptorRes"> <interceptor> <imports> <import>java.util.*</import> </imports> <saveaction-perrow> <![CDATA[ String message=""; ```
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
【JSON解析】浅谈JSONObject的使用
简介 在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构: “名称/值”对的集合(A Collection of name/va...
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
只因接了一个电话,程序员被骗 30 万!
今天想给大家说一个刚刚发生在我身边的一起真实的诈骗经历,我的朋友因此被骗走30万。注:为了保护当事人隐私,部分情节进行了修改。1平安夜突来的电话开始以为就像普通的诈骗一样,想办法让你把钱...
我一个37岁的程序员朋友
周末了,人一旦没有点事情干,心里就瞎想,而且跟几个老男人坐在一起,更容易瞎想,我自己现在也是 30 岁了,也是无时无刻在担心自己的职业生涯,担心丢掉工作没有收入,担心身体机能下降,担心突...
python自动下载图片
近日闲来无事,总有一种无形的力量萦绕在朕身边,让朕精神涣散,昏昏欲睡。 可是,像朕这么有职业操守的社畜怎么能在上班期间睡瞌睡呢,我不禁陷入了沉思。。。。 突然旁边的IOS同事问:‘嘿,兄弟,我发现一个网站的图片很有意思啊,能不能帮我保存下来提升我的开发灵感?’ 作为一个坚强的社畜怎么能说自己不行呢,当时朕就不假思索的答应:‘oh, It’s simple. Wait for me for a ...
一名大专同学的四个问题
【前言】   收到一封来信,赶上各种事情拖了几日,利用今天要放下工作的时机,做个回复。   2020年到了,就以这一封信,作为开年标志吧。 【正文】   您好,我是一名现在有很多困惑的大二学生。有一些问题想要向您请教。   先说一下我的基本情况,高考失利,不想复读,来到广州一所大专读计算机应用技术专业。学校是偏艺术类的,计算机专业没有实验室更不用说工作室了。而且学校的学风也不好。但我很想在计算机领...
复习一周,京东+百度一面,不小心都拿了Offer
京东和百度一面都问了啥,面试官百般刁难,可惜我全会。
Java 14 都快来了,为什么还有这么多人固守Java 8?
从Java 9开始,Java版本的发布就让人眼花缭乱了。每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份,...
达摩院十大科技趋势发布:2020 非同小可!
【CSDN编者按】1月2日,阿里巴巴发布《达摩院2020十大科技趋势》,十大科技趋势分别是:人工智能从感知智能向认知智能演进;计算存储一体化突破AI算力瓶颈;工业互联网的超融合;机器间大规模协作成为可能;模块化降低芯片设计门槛;规模化生产级区块链应用将走入大众;量子计算进入攻坚期;新材料推动半导体器件革新;保护数据隐私的AI技术将加速落地;云成为IT技术创新的中心 。 新的画卷,正在徐徐展开。...
轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。Fun: Fun 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API ...
Python+OpenCV实时图像处理
目录 1、导入库文件 2、设计GUI 3、调用摄像头 4、实时图像处理 4.1、阈值二值化 4.2、边缘检测 4.3、轮廓检测 4.4、高斯滤波 4.5、色彩转换 4.6、调节对比度 5、退出系统 初学OpenCV图像处理的小伙伴肯定对什么高斯函数、滤波处理、阈值二值化等特性非常头疼,这里给各位分享一个小项目,可通过摄像头实时动态查看各类图像处理的特点,也可对各位调参、测试...
2020年一线城市程序员工资大调查
人才需求 一线城市共发布岗位38115个,招聘120827人。 其中 beijing 22805 guangzhou 25081 shanghai 39614 shenzhen 33327 工资分布 2020年中国一线城市程序员的平均工资为16285元,工资中位数为14583元,其中95%的人的工资位于5000到20000元之间。 和往年数据比较: yea...
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
木兰编程语言,当事人最新回复来了
同行12年,不知Python是木兰,当事人回应来了
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
立即提问