大家好,又见面了,我是全栈君。
用JDBC编程的执行时错误及其解决
用JDBC编程的执行时错误及其解决
源码:
1、java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
1.1 错误信息:
1.2 错误描写叙述
1.3 错误解决方法
2、用户 ‘sa’ 登录失败
2.1 错误信息:
2.2 错误描写叙述
2.3 错误解决方法
3、Invalid parameter binding(s)
3.1 错误信息:
3.2 错误描写叙述
3.3 错误解决方法
4、对象名 ‘jspBook’ 无效
4.1 错误信息:
4.2 错误描写叙述
4.3 错误解决方法
5、列名 ‘bookId’ 无效
5.1 错误信息:
5.2 错误描写叙述
5.3 错误解决方法
6、Value can not be converted to requested type
6.1 错误信息:
6.2 错误描写叙述
6.3 错误解决方法
源码:
代码语言:javascript复制package edu.ccniit.jspCourse.db.prim;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* 获得指定ID的图书的信息
* @author Administrator
*
*/
public class GetBookByID
{
/**
* @param args
* @throws ClassNotFoundException
* @throws SQLException
*/
public static void main(String[] args) throws ClassNotFoundException, SQLException
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//-----------------------------------------------------------------------------------------
String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433";
java.sql.Connection con = DriverManager.getConnection(dbUrl,"sa","123");
//-----------------------------------------------------------------------------------------
String sqlStr = "select * from jspBook where bookId=?";
java.sql.PreparedStatement pst = con.prepareStatement(sqlStr);
//------------------------------------------------------------------------------------------
pst.setInt(3, 3);
//------------------------------------------------------------------------------------------
java.sql.ResultSet rs = pst.executeQuery();
//------------------------------------------------------------------------------------------
while(rs.next())
{
String book_id = rs.getString("bookId");
String book_name = rs.getString("book_name");
System.out.println(book_id " " book_name);
}
pst.close();
con.close();
}
}
报错例如以下:
1、java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
1.1错误信息:
Exception in thread “main” java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at edu.ccniit.jspCourse.db.prim.GetBookByID.main(GetBookByID.java:23)
1.2 错误描写叙述
错误信息:SQLServer的JDBC驱动程序类com.microsoft.jdbc.sqlserver.SQLServerDriver无法找到。
造成错误的原因:没有将SQLServer的3个驱动程序文件放到项目的构建路径中。
1.3错误解决方法
将SQLServer的三个驱动文件放到项目的构建路径中。
操作步骤是:
步骤1:在项目中新建一个名称为lib的文件夹。操作顺序为:
鼠标右击项目名-〉新建-〉目录
步骤2:将数据库驱动的3个文件复制到lib文件夹下,操作顺序为
拷贝数据库取得的3个文件->选择项目中的lib文件夹并单击鼠标右键->选择粘贴
步骤3:鼠标右击项目名-〉选择构建路径-〉配置构建路径-〉选择库
标签项。将打开下面页面: