还是java连接sql server的问题

lysanderK 2007-07-31 03:53:00
import java.sql.*;
import java.net.*;

public class sqltry
{
public static void executeUpdateStatement(Connection con)
{

try
{
String SQL = "SELECT * FROM [test].[dbo].[学校代码表] ORDER BY 最低分数";
String SQL2 ="INSERT INTO [test].[dbo].[学校代码表]([学校代码],[学校名],[招生人数],[最低分数]) VALUES (001,ybo1,2000,469)";
Statement stmt = con.createStatement();
int count = stmt.executeUpdate(SQL2);
//关了Statement
stmt.close();

System.out.println("use test datebase "+"ROWS AFFECTED: " + count);
//再建一Statement,下边的ResultSet用这个得到
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(SQL);
while(rs.next())
{
System.out.println(rs.getString("学校名") + ", " + rs.getString("学校代码"));
}
//关闭后来建的Statement
st.close();
rs.close();
}
catch (Exception e)
{e.printStackTrace();}
}
public static void main (String[] args)
{
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=test;";
String userName = "lysander";
String userPwd = "";
Connection dbconn=null;
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
dbconn=DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
}

catch (Exception e)
{ e.printStackTrace(); }
sqltry.executeUpdateStatement(dbconn);

}
//public sqltry()
//{

//}

}
经过高人指点,基本都没有什么语法错误了,但是,没有预想的结果
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at sqltry.main(sqltry.java:42)
java.lang.NullPointerException
at sqltry.executeUpdateStatement(sqltry.java:13)
at sqltry.main(sqltry.java:49)

Process completed.
输出返回的是这个东西,我到底哪里有问题了,请高人指点以下,谢谢咯
...全文
272 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lysanderK 2007-08-01
  • 打赏
  • 举报
回复
有没有人能教教我啊
lysanderK 2007-08-01
  • 打赏
  • 举报
回复
import java.sql.*;
import java.net.*;

public class sqltry
{
public static void executeUpdateStatement(Connection con)
{

try
{
String SQL = "SELECT * FROM [test].[dbo].[学校代码表] ORDER BY 最低分数";
String SQL2 ="INSERT INTO [test].[dbo].[学校代码表]([学校代码],[学校名],[招生人数],[最低分数]) VALUES (001,ybo1,2000,469)";
Statement stmt = con.createStatement();
int count = stmt.executeUpdate(SQL2);
//关了Statement
stmt.close();

System.out.println("use test datebase "+"ROWS AFFECTED: " + count);
//再建一Statement,下边的ResultSet用这个得到
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(SQL);
while(rs.next())
{
System.out.println(rs.getString("学校名") + ", " + rs.getString("学校代码"));
}
//关闭后来建的Statement
st.close();
rs.close();
}
catch (Exception e)
{e.printStackTrace();}
}
public static void main (String[] args)
{
String sDBDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String userName = "lysander";
String userPwd = "";
Connection dbconn=null;

try
{
Class.forName(sDBDriver);
dbconn=DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
}

catch (Exception e)
{ e.printStackTrace(); }
sqltry.executeUpdateStatement(dbconn);

}
//public sqltry()
//{

//}

}
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at sqltry.main(sqltry.java:44)
java.lang.NullPointerException
at sqltry.executeUpdateStatement(sqltry.java:13)
at sqltry.main(sqltry.java:50)

Process completed.
我用的2005,和2000的驱动不一样的,上面是我把哪个sqljdbc.jar文件复制到\j2sdk1.4.2_14\jre\lib\ext里稍微该了一下代码的结果,但是,还是不行,网络上的教程我大多数都是2000的
msfx1214 2007-08-01
  • 打赏
  • 举报
回复
安装驱动程序(我在安装过程中,没有让我选择安装路径,默认安装在了 C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC)
配置环境 在claspath中增加(和jdk配置累路径是一样的,就是为了让系统找到这个驱动类)
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
可能你的安装目录不在c盘,但是这三个文件一定要配,如果你用的是Eclipse就可以在Eclipse中直接把这三个jar文件导进去;
lysanderK 2007-08-01
  • 打赏
  • 举报
回复
能不能具体点啊,怎么看mssql的版本啊?用户名应该都没有问题的
s_liangchao1s 2007-08-01
  • 打赏
  • 举报
回复
恩 没有驱动 Class.forName("oracle.jdbc.driver.OracleDriver");
xuhong_lee 2007-08-01
  • 打赏
  • 举报
回复
看你用的是哪个版本的MSSQL,到网上找相应的驱动包加进去就OK了
cursor_wang 2007-08-01
  • 打赏
  • 举报
回复
at sqltry.executeUpdateStatement(sqltry.java:13) //Statement stmt = con.createStatement();
at sqltry.main(sqltry.java:50)//sqltry.executeUpdateStatement(dbconn);

------------------------------------------------------------------------
你这2句不对,我想可能是Connection没有得到,你把你的这句String userName = "lysander";改成"sa"试下.你可能根本没有连到数据库,用户名对吗?
lysanderK 2007-07-31
  • 打赏
  • 举报
回复
我用的是sql 2005不是2k.我下了一个jdbc也按照帮助里的东西解压好了,是哪三个文件啊,不能不能具体一点啊
cursor_wang 2007-07-31
  • 打赏
  • 举报
回复
你要把jdbc的3个包加进去,还有Sql要打补丁.
你到这里去下个补丁(sql2ksp4)http://www.itmhu.cn/soft/8/80/2007/200702132586.html
记住解压了要安装才可以.
sureyor 2007-07-31
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath中要加入SqlServer的驱动

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧