java链接sql server链接数据库2008数据库时不能实现查询功能

24_hours 的BLOG
用户名:24_hours
访问量:500
注册日期:
阅读量:5863
阅读量:12276
阅读量:351237
阅读量:1049677
51CTO推荐博文
最近学到java连接数据库(sql server),发现常用的我们有两种方法,那么这里我总结一下这两种方法怎么使用,还有它们的区别,还有我们一般要使用哪一种方法。方法一:使用jdbc-odbc桥连接sql server,作为中间媒介连接数据库;注意我们每次在连接数据库前都必须要引入sql包:import java.sql.*;接下来的步骤都是习惯性步骤,我这里就按照每一步的使用进行列举:1.配置数据源:打开控制面版-&管理工具-&数据源(ODBC)-&(一般而言我们使用用户DSN)按下添加按钮-&sql server-&写下数据源的名字(自己进行命名,假设是test,为下面的例子做铺垫),再写下连接的服务器名(一般默认为local)-&更改默认的数据库为(勾选你想要连接的数据库)-&接下来一直确定就完成了数据源的配置.2.加载驱动:Class.forNmae("sun.jdbc.odbc.JdbcOdbcDriver");3.得到连接:Connection ct=DriverManager.getConnection("jdbc:odbc:test");test是配置数据源的时候的数据源名字4.创建preparedStateMent(这里不用Statement,相比preparedStateMent,它有很多缺点),这个语句主要是用于发送sql语句到数据库.5.最后关闭所有操作就行了,import&java.sql.*;
public&class&preparedStatement&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&public&static&void&main(String[]&args)&{
&&&&&&&&Connection&ct&=&
&&&&&&&&PreparedStatement&ps&=&
&&&&&&&&ResultSet&rs=
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&try&{
&&&&&&&&&&&&//加载驱动
&&&&&&&&&&&&Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
&&&&&&&&&&&&//得到连接
&&&&&&&&&&&&ct=DriverManager.getConnection("jdbc:odbc:test");
&&&&&&&&&&&&//创建一个PreparedStatement,用于向数据库放松sql语句
&&&&&&&&&&&&ps=ct.prepareStatement("select&*&from&产品名称表");
&&&&&&&&&&&&//得到结果
&&&&&&&&&&&&rs=ps.executeQuery();//这个方法适用于从表中查找数据
&&&&&&&&&&&&//如果要向表中插入,删除,更新数据需要使用方法executeUpdate();
&&&&&&&&&&&&while(rs.next()){//这里rs.next()一定要使用next()方法,否则有空指针错误
&&&&&&&&&&&&&&&&String&number=rs.getString(1);
&&&&&&&&&&&&&&&&String&string=rs.getString(2);
&&&&&&&&&&&&&&&&System.out.println(number+"&"+string);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&}&catch&(Exception&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&}&finally&{
&&&&&&&&&&&&//&关闭资源,记住关闭资源的顺序,根据得到赋值的反顺序进行关闭资源
&&&&&&&&&&&&try&{
&&&&&&&&&&&&&&&&if(rs!=null){
&&&&&&&&&&&&&&&&&&&&rs.close();
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&if&(ps&!=&null)
&&&&&&&&&&&&&&&&&&&&ps.close();
&&&&&&&&&&&&&&&&if&(ct&!=&null)
&&&&&&&&&&&&&&&&&&&&ct.close();
&&&&&&&&&&&&}
&&&&&&&&&&&&catch(Exception&e){
&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&}
}这个代码是经过测试过的,这里我就不进行截图了。注意:我们还可以使用?赋值的方法,这个方法对我们而言更加有利ps=ct.prepareStatement("select * from 产品名称表 whrer 产品名称=?");ps.setString(1,"手机");//表示在第一个问号上添加“手机”的字符串.如果是整数用setInt()方法;方法二:使用驱动程序直接操作数据库这里吐槽下,这个方法比上面的方法好,更加使用,但是前期所做的工作更多,为了实现这一步的操作,我不知道流了多少泪,这里我把自己遇到的困难和问题一一列举解决。1.这里需要引入jar包,这里sql server2008,只要引入sqljdbc4.jar包就行了。这个包百度上有下载。这里我主要提供怎么引入这个包。方法:工具栏project选项-&properties-&java Build path中选择libraries-&点击add Externar jars按钮-&然后在你电脑中选中sqljdbc4.jar导入进去2.这一步需要用到你的sql server知识,因为我们连接数据库一般是使用sql验证,所以需要你自己建立帐号密码,这里我仅仅示范一下使用数据库中原本存在的用户名sa,用这个例子说明:方法:先用windows验证进入数据库,然后在安全性中的登录名中选中系统给出的用户名sa,单机右键-&选中属性的按键-&修改这里给的密码,修改成你自己需要的密码-&点击确定就好。然后断开连接,重新以现在的用户名和密码连接。然后在这个用户名中新建数据库就好。3.然后进行代码演示:import&java.sql.*;
public&class&jdbc1&{
&&&&&*&@param&args
&&&&public&static&void&main(String[]&args)&{
&&&&&&&&//&TODO&Auto-generated&method&stub
&&&&&&&&Connection&ct&=&
&&&&&&&&PreparedStatement&ps&=&
&&&&&&&&ResultSet&rs&=&
&&&&&&&&try&{
&&&&&&&&&&&&//第一步,加载驱动
&&&&&&&&&&&&Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
&&&&&&&&&&&&//得到连接
&&&&&&&&&&&&ct=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=liuyan","sa","3209554");
&&&&&&&&&&&&//创建PreparedStatement
&&&&&&&&&&&&ps=ct.prepareStatement("select&*&from&userinformation&where&name='张三丰'");
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&rs=ps.executeQuery();
&&&&&&&&&&&&//这个方法适用于从表中查找数据
&&&&&&&&&&&&//如果要向表中插入,删除,更新数据需要使用方法executeUpdate();
&&&&&&&&&&&&while(rs.next()){//这里rs.next()一定要使用next()方法,否则有空指针错误
&&&&&&&&&&&&&&&&String&number=rs.getString(1);
&&&&&&&&&&&&&&&&String&string=rs.getString(2);
&&&&&&&&&&&&&&&&String&string2=rs.getString(3);
&&&&&&&&&&&&&&&&System.out.println(number+"&"+string+"&"+string2);
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&}
&&&&&&&&}&catch&(Exception&e)&{
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&}finally{
&&&&&&&&&&&&try&{
&&&&&&&&&&&&&&&&if(rs!=null){
&&&&&&&&&&&&&&&&&&&&rs.close();
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&if&(ps&!=&null)
&&&&&&&&&&&&&&&&&&&&ps.close();
&&&&&&&&&&&&&&&&if&(ct&!=&null)
&&&&&&&&&&&&&&&&&&&&ct.close();
&&&&&&&&&&&&}
&&&&&&&&&&&&catch(Exception&e){
&&&&&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&&&&&}
}这是经过测试,结果绝对没有问题。很开心解决了这样一个难题。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)SQL Server 2008中字符?不能正确查询
SQL Server 2008中字符?不能正确查询
16:26:00来源:
在SQL Server 2008中创建了一个简单的表Test:
Name nvarchar(MAX)
Address nvarchar(MAX)
&填写了一条记录
Name Address
用下面的语句查询,居然返回的是空。。
select * from Test where Name='&O'
请教下给为高手,这是为什么。。。
【引用】SQL2000:复制查询结果及列名[图]12:51 提问
JAVA链接sqlserver 2008 R2
出现用户sa登录失败
验证模式是windows和sqlserver身份验证,使用nacicat测试连接的时候也成功了,就是部署的时候 运行就报登录失败的错误,自己新建了个用户,测试成功之后,更换连接还是同样的错误
按赞数排序
还是给自己了 到最后没解决,换成别的了
你的sql server需要混合验证,才能启用sa账户。
我已经开启混合验证了
15164关注|467收录
17869关注|1341收录
8753关注|730收录
其他相似问题}

我要回帖

更多关于 server2008数据库还原 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信