编程, 细心永远都不嫌多(记录java连接数据库的一个错误)

最近在学习Java连接oracle数据库操作, 无意间一个小问题, 浪费了一个下午和半个晚上去找这个错误, 本来可以做更多的事情的, 现将这个错误贴出来, 每次看到, 定将勉励!

 1 ...........................
 2
 3 try {
 4                 String sql = "insert into t_test (user_id, user_name, password) values (?,?,?)";
 5                 pst = conn.prepareStatement(sql);
 6
 7                 if (user.getUserID() == null || user.getUserName() == null || user.getPassWord() == null)
 8                 {
 9                     throw new Exception("kong");
10                 }
11
12                 pst.setString(1, user.getUserID());
13                 pst.setString(2, user.getUserName());
14                 pst.setString(3, user.getPassWord());
15
16                 row = pst.executeUpdate(sql);
17             }
18             catch(Exception ex) {
19
20 .................

pst.executeUpte();

这个语句是一个执行语句, 本身就是一个命令, 命令是执行pst = conn.prepareStatement(sql);构建出来的数据库命令, 但是在里面再加sql就是错误了, 前面给占位符赋值的语句就全部白做了.

最后oracle给出了ORA-01008:并非所有变量都已绑定 的错误.

在学习编程的过程中, 出现一些难以解决的问题, 甚至于一些见都没见到过的异常都是家常便饭, 自己能亲自解决的才是最有价值的, 这次这个错误的发生, 微观上来讲是自己手误习惯性的写上的, 但是也从另一个层面说明了, 知识掌握的相当的不牢固, 来来回回看了N遍, 也没发现这个错误的存在, 以后注意吧!

时间: 2024-11-08 23:28:34

编程, 细心永远都不嫌多(记录java连接数据库的一个错误)的相关文章

2.JAVA编程思想——一切都是对象

一切都是对象 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040221 尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言 正式用它设计之前,必须先将自己的思想转入一个面向对象的世界 1      用句柄操纵对象 在 Java 里,任何东西都可看作对象.可采用一种统一的语法,任何地方均可照搬不误.注意,尽管将一切都"看作"对象,但操纵的标识符实际是指向一个对象的"句柄"(

网站每天都新鲜,客户怎么爱你都不嫌多

1 网页小美工班第一个月 感觉天气变化开始有点大了,刚来深圳1个月的我,明显感觉与广州的不同.深圳的地铁挤些, 但秩序好过广州:天气,太阳也不毒,深圳的阳光是很浅的黄色,暖暖的而广州则是很大的金灿灿的太阳,擦几层防晒霜也没法抵挡.但我还是想念广州,那里的早晨可以买到热乎乎的    糯米鸡,那是我每个早上最喜欢吃的食物,靠着它在脑海里的香味,就能把我从床上唤醒.          在深圳的工作还是比较顺利的,但顺利往往是在不平中求安宁.有时候太过于安静则是    危机四伏   的时候.比如:老板不

先做别人的例子,让自己去理解,比看书效果要好——只看不写,永远都不会

我的学习经验就是多做练习,先做别人的例子,让自己去理解,比看书效果要好,做完例子也理解了以后再看书,效果是非常明显的,而且效率也会提高了. 应该给实践分配95%的时间.只看永远都不会. 其实刚开始学习qt要多仿写别人的例子,然后不明白的地方就查 assistant ,然后就是多跟人交流!!!给你推荐一个博客 http://hi.baidu.com/llxqnh 其实我自己也是,那几本VCL原理书仔细看,但是感觉死记硬背没有连贯性,还无法真正理解,更谈不上提出和解决书上没有提到的问题.但是通过自己

不狠狠的逼自己一把,永远都不会知道自己会有多优秀

前段时间发现自己变得越来越懒了,对于学习也不再是那么虔诚了.经常半夜看小说看到很晚,电视剧一个晚上要连看十来集.看见别人在写代码,看见别人做出了新功能,我也不再像以前那样有强烈的紧迫感了.总是自大的以为,这有什么的?分分钟的事,这些对于我来说忒没挑战性了.我自大,我高傲,我目空一切,以至于我现在感觉学习不再是那么的轻松,甚至是有些吃力了! 五一老爸从深圳回来,老爸问我现在学的怎么样.我撒谎说学的还可以,一直保持着自己的第一宝座.其实从我的自大的那一刻开始,我就已经不再是第一名的了.我知道,我输在

记录Java的垃圾回收机制和几种引用

一.Java的垃圾回收机制 Java的垃圾回收机制(java garbage collection)是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的堆内存空间. 注意粗体字的地方,java的垃圾回收线程是优先级比较低的线程,什么时候进行垃圾回收难以确定.当某些对象被标记为垃圾对象后,等垃圾回收线程运行时,就会将这些对象回收(确切的说应该是回收这些对象所占的堆内存空间). 二.什么样的对象会被标记成垃圾对象呢? 一般来说,所有指向对象的引用都已失效,不可能再有

JVM学习记录-Java内存模型(二)

对于volatile型变量的特殊规则 关键字volatile可以说是Java虚拟机提供的最轻量级的同步机制. 在处理多线程数据竞争问题时,不仅仅是可以使用synchronized关键字来实现,使用volatile也可以实现. Java内存模型对volatitle专门定义了一些特殊的访问规则,当一个变量被定义为volatile时,它将具备以下两个特性: 第一个是保证此变量对所有线程的可见性,这里的“可见性”是指当一条线程修改了这个变量的值,新值对于其他线程来说是可以立即得知的.而普通变量不能做到这

ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面

应用场景和使用目的 很多时候,我们在访问页面的时候,由于程序异常.系统崩溃会导致出现黄页.在通常的情况下,黄页对于我们来说,帮助是极大的,因为它可以帮助我们知道问题根源,甚至是哪一行代码出现了错误.但这对于用户是非常可怕的,因为用户不知道发生了什么,也无法了解黄页给出的内容.甚至,如果我们遇到一些不友好的人,他们会拿这些内容大做文章,对我们网站产生威胁. 那我们如何在程序异常.系统崩溃时,不会出现黄页,并且还可以给出一些更加友好的提示呢?甚至在我们需要的时候,可以收集这些异常信息,并加以分析,能

如何有效地记录 Java SQL 日志(转)

在常规项目的开发中可能最容易出问题的地方就在于对数据库的处理了,在大部分的环境下,我们对数据库的操作都是使用流行的框架,比如 Hibernate . MyBatis 等.由于各种原因,我们有时会想知道在这些框架下实际执行的 SQL 究竟是什么. 虽然 Hibernate 可以在配置文件中打开 SHOW SQL 的功能, MyBatis 则可以在 Log4j 的配置文件中配置 SQL 语句的输出,但这些输出是类似这样的 INSERT … ? ? ? 语句,并不是一个完整可以运行的 SQL ,要想知

spring异常记录-----java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils

今天在练习怎样SSH中进行单元測试的时候出现下列异常: SEVERE: Exception starting filter Struts2 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:211