1. 下列不属于接口的是:
A.Statement B.PrepareStatement C.Drive D.DriveManger
2. 关于ResultSetMetaData API描述错误的是
A getColumnCount()返回列的数
B getColumnTypeName(int index)返回指定列的类型的名称
C getColumnType(int index)返回字符串表示形式的指定列的类型
D isNullable指定列是否为空
3.Emp表数据如下
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
7369 SMITH CLERK 7902 1980/12/17 800.00 20
7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 0.00 30
下面代码输出的结果是:
。。。
ResultSet rs=stmt.executeQuery(“select comm from emp”);
while(rs.next()){
System.out.println(rs.getDouble(1)+”,”+rs.wasNull());
}
A 0,true
0,false
B null,true
0,false
C 0,false
0,false
D 0,true
0,true
4.下面的代码用于将存放于文件中的图片信息(mouse.bmp)和文本信息(some.xml)插入到Oracle数据库(Oracle 10g以上驱动),应该填入的代码是:
public void testSaveLOB()throws Exception{
Connection con=DBUtils.getConnecttion();
PreparedStatement stmt=con.prepareStatement(“insert into sd_user(id,photo,mem) values (?,?,?) “);
stmt.setInt(1, 30);
File file=new File(“d:/mouse.bmp”);
FileInputStream fis=new FileInputStream(file);
<填入代码>
File xml=new File(“d:/some”);
InputStreamReader reader=new InputStreamReader(new FileInputStream(xml),”utf-8″);
<填入代码>
int n=stmt.executeUpdate();
System.out.println(n);
fis.close();
stmt.close();
con.close();
}
A stmt.setStream(2,fis,(int)file.length());
Stmt.setReader(3,reader,(int)xml.length());
B stmt.setBinaryStream(2,fis,(int)file.length());
stmt.setCharacterStream(3,reader,(int)xml.length());
C stmt.setInputStream(2,fis,(int)file.length());
stmt.setCharacterStream(3,reader,(int)xml.length());
D stmt.setBinaryStream(2,fis,(int)file.length());
Stmt.setFileReader(3,reader,(int)xml.length());
6 下面的代码用于实现对emp表的分页查询(Oracle),在每页10行的前提下查询第8页的语句是:
A .String sql=”select ename,sal from emp where limit ?,?”;
PreParedStatement stmt=con.prepareStatement(sql);
stmt.setInt(1,10*7+1+10);
stmt.setInt(2,10*7+1);
stmt.executeQuery();
….
B.String sql=”select ename,sal from emp limit ?,?”
PreParedStatement stmt=con.prepareStatement(sql);
stmt.setInt(1,10*7+1+10);
stmt.setInt(2,10*7+1);
stmt.executeQuery();
….
C.String sql=”select ename,sal from emp(select ename,sal,rownum n from oo where
rownum>=?) where n”
stmt.setInt(1,10*7+1+10);
stmt.setInt(2,10*7+1);
stmt.executeQuery();
….
D. .String sql=”select ename,sal from emp(select ename,sal,rownum n from oo where
Rownum) where n>=?”
stmt.setInt(1,10*7+1+10);
stmt.setInt(2,10*7+1);
stmt.executeQuery();
….
7.下面代码空白处应该填入的:
public void testA() throws Exception{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(
“jdbc:mysql://localhost:3306/test”,”root”,”root”);
Con.setAutoCommit(false);
PreparedStatement stmt=con.prepareStatement(
“insert into emp(name,hire_date,dept_id) values(?,?,?)”);
stmt.executeUpdate(“insert into dept(name,location) value(‘R&D’,’Beijing’)”);
//获取刚刚产生的主键
<填入代码>
。。。。。。。
stmt.close();
con.close();
}
A ResultSet key=stmt.getKeys();
B int key=stmt.getGeneratedKeys();
C ResultSet key=stmt. getGeneratedKeys();
D int key=stmt.getKeys();
8 已知数据表emp的数据为:
EMPNO ENAME
7369 SMITH
7499 ALLEN
7521 WARD
下面代码的运行结果是
Int empno=6000;
String ename=”hello’ or ‘1’=’1”
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(“select count(*) from emp
where empno”+empno+”and ename=’”+ename+”’”);
rs.next();
System.out.println(rs.getInt(1));
A 0 B 1 C 2 D 3
9 下列说法正确的是:
A PreparedStatement 继承了Statement
B PreparedStatement可以有效的防止SQL注入
C PreparedStatement不能用于批量更新的操作
D PreparedStatement可以存储预编译的Statement,从而提升执行效率
10 下面关于Oracle数据库连接URI正确的拼写格式是:
A jdbc:oracle:thin:@hostname:1521:orcl
B jdbc/oracle/thin/@hostname:1521/orcl
C jdbc:oracle/thin/@hostname:1521/orcl
D jdbc:oracle:thin/@hostname:1521/orcl
11 ConnUtils类中通过属性文件获取连接参数代码应该是:
A Properties props=new Properties();
props.load(ConnUtils.getClassLoader().getStream(“c:\properties”));
driver=props.getProperty(“driver”);
url=props.getProperty(“url”);
username=props. getProperty(“username”);
password=props. getProperty(“password”);
B Properties props=new Properties();
props.load(ConnUtils.class.getClassLoader().
getResourceAsStream(“c:\properties”));
driver=props.getProperty(“driver”);
url=props.getProperty(“url”);
username=props. getProperty(“username”);
password=props. getProperty(“password”);
C Properties props=new Properties();
props.load(ConnUtils.getClassLoader().getResourceAsStream(“c:\properties”));
driver=props.getProperty(“driver”);
url=props.getProperty(“url”);
username=props. getProperty(“username”);
password=props. getProperty(“password”);
D Properties props=new Properties();
props.load(ConnUtils.class.getClassLoader().getStream(“c:\properties”));
driver=props.getProperty(“driver”);
url=props.getProperty(“url”);
username=props. getProperty(“username”);
password=props. getProperty(“password”);
12 关于ResultSet说法错误的是
A 查询结束后,所有的结果数据一次性的被存储在ResultSet对象中
B statement对象close后,由其创建的ResultSet对象将自动close
C查询结束后,ResultSet中的游标指向第一条记录之上,因此要先调用一次
next才有可能取得记录
D ResultSet的方法getString(…)意为取得该列的数据以字符串的形式返回,数
据库中的该列类型并不一定是字符类型
13 下列说法正确的是
A 原子性是事务具备的一个重要特性
B Connection对象setAutoCommit(boolean b)方法默认设置为true
C Repeatable Read可以禁止不可重复读取和脏读取
D Read Committed 允许脏读取但不允许不可重复读取
15 下面XML文档符合语法规则的是
A hellohey
B hey
C hi
评论列表
文章目录