jdbc调试sql语句方法
在main命令行输入三个参数到oracle 的 dept2表(自己建的 和dept一样(deptno,dname,loc)),插入到数据库中去。通过本例子,学习在java里调试sql的方法。
写完sql语句后,在下边把它打印出来,有错误时,把这句sql语句粘贴到sqlplus里去,会详细显示哪个位置出错了。因为myeclipse里是不会提示具体的错误位置的,如果sql语句比较长,错误难以被发现。
要注意的是sql的insert into 语句里的细节,如字符串的 'dname','loc'的单引号等。
变量的声明问题:一般要求声明在头上,那是为了在用该变量时容易找到它的声明之处。现在myeclipse能够提示了,有人认为什么时候用什么时候声明变量。但面试时,还是声明在头上的好。
package com.ayang.jdbc; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement; public class TestDML2 { public static void main(String[] args) {
if(args.length!=3){
//判断输入参数个数是否错误
System.out.println("Parameter Error! Please Input Again!");
System.exit(-1); //系统退出
} int deptno = 0; //声明变量。在头上呢?还是啥时候用啥时候声明呢?面试时,声明在头上。 try{
deptno = Integer.parseInt(args[0]);
}catch(NumberFormatException e){
System.out.println("参数类型错误,请输入数字");
System.exit(-1); }
String dname = args[1];
String loc = args[2]; Connection conn = null;
Statement stmt = null; try{
//1、注册驱动
//new oracle.jdbc.driver.OracleDriver();
Class.forName("oracle.jdbc.driver.OracleDriver");
//2、建立连接
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORCL","scott", "root");
//3、创建语句
stmt = conn.createStatement();
String sql = "insert into dept2 values("+deptno+",'"+dname+"','"+loc+"')";
System.out.println(sql); //打印出sql语句用来调试sql
stmt.executeUpdate(sql); }catch (ClassNotFoundException e) {
System.out.println("未正常加载jdbc驱动");
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace(); //log for java }finally{
//6、释放资源
try {
if(stmt != null){
stmt.close();
stmt = null;
}if(conn != null){
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
} } } }
jdbc调试sql语句方法的更多相关文章
- JDBC—执行sql语句的通用方法
/* * 执行 sql的方法集 * delete,insert into ,update */ public static void update(String sql){ Connection co ...
- MyBatis拦截器打印不带问号的完整sql语句方法
/* Preparing: SELECT * FROM tb_user WHERE id = ? AND user_name = ? 目标是打印:SELECT * FROM tb_user WHER ...
- mybatis和ibatis控制台打印sql语句方法
#将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句 log4j.rootLogger=debug,stdout,logfile### 把日志信息输出到控制 ...
- PL/SQL如何调试sql语句、存储过程
一直以来,我总是在sql的工具,比如sql server.navicat等中执行sql语句来发现问题自己写的sql中的问题,结果被问起时,让人贻笑大方! 那么如何调试成白行的存储过程?如何调试成百行s ...
- 利用powerdesigner创建表模型后导出sql语句方法,以及报错 Generation aborted due to errors detected during the verification of the model.的解决办法
今天用powerdesigner建了表模型,下面先说一下导出sql语句的步骤. 1.选项 2. 然后就报错了,下面说解决办法,很简单. 你没看错,把模型检查的√去掉就行了~~ 导出表名不带双引号的设置 ...
- thinkphp 打印sql语句方法
thinkphp 打印数据use think\Db; 引用db 需要查询的sql语句连锁查询 db()->table('business_order')->alias('o')->j ...
- jdbc打印sql语句-p6spy配置
@Configuration public class P6SpyConfig { /** * P6数据源包装, 打印SQL语句 */ @Bean public P6DataSourceBeanPos ...
- jdbc中SQL语句拼接java变量
例如:String sql = "select * from user where username='" + username + "' and password =' ...
- SQL语句方法语法总结(二)
1.给表插入数据. (1)INSERT INTO TBL_NAME VALUES (VALUE_1,VALUE_2,...) (2)INSERT INTO TBL_NAME (COL_1,COL_2, ...
随机推荐
- 解决以showModalDialog打开的页面在提交表单时弹出新窗口的问题
源代码如下: 父页面: window.showModalDialog("../readfile/readFile.jsp","","dialogWid ...
- HDU 1716 排列2 (格式问题+排列)
题意:. 析:我们完全可以STL里面的函数next_permutation(),然后方便,又简单,这个题坑就是在格式上. 行末不能有空格,结尾不能有空行,不大好控制,必须控制好第一次数. 这个题本应该 ...
- LA 3942 && UVa 1401 Remember the Word (Trie + DP)
题意:给你一个由s个不同单词组成的字典和一个长字符串L,让你把这个长字符串分解成若干个单词连接(单词是可以重复使用的),求有多少种.(算法入门训练指南-P209) 析:我个去,一看这不是一个DP吗?刚 ...
- qmake -简介
qmake 简化了在不同平台下开发项目时构建处理的过程. qmake 自动产生Makefiles文件,只需要几行信息来构建每个Makefile.qmake可以被用于任何软件项目,不管是否使用Qt. q ...
- python3中 for line1 in f1.readlines():,for line1 in f1:,循环读取一个文件夹
循环读取一个文件: fr.seek(0) fr.seek(0, 0) 概述 seek() 方法用于移动文件读取指针到指定位置. 语法 seek() 方法语法如下: fileObject.seek(of ...
- 关于FIR的modelsim
(1)FIR ip核仿真 (2)FIR 多通道应用 (3)多通道fir ip核需要注意的复位问题 =================================================== ...
- C - 无间道之并查集 HihoCoder - 1066
输入 每个测试点(输入文件)有且仅有一组测试数据. 每组测试数据的第1行为一个整数N,表示黑叔叔总共进行的操作次数. 每组测试数据的第2~N+1行,每行分别描述黑叔叔的一次操作,其中第i+1行为一个整 ...
- date(): It is not safe to rely on the system’s timezone settings.
在执行php脚本时出现的错误: date(): It is not safe to rely on the system’s timezone settings.You are *required* ...
- const 用法全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. Const 是C++中常用的类型修饰符,常类型是指使用类 ...
- Unity3D中随机函数的应用
电子游戏中玩家与系统进行互动的乐趣绝大多数取决于事件发生的不可预知性和随机性.在unity3D的API中提供了Random类来解决随机问题. 最简单的应用就是在数组中随机选择一个元素,使用Random ...