eclipse,myeclipse中java连接数据库的问题

首先,如果没有msbase.jar,mssqlserver,msutil.jar这三个包连接sql需要的包,编写好代码运行会出现异常:

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver(也有可能是因为SQL1433端口没开)

解决办法:在工程目录右击属性->构建路径->选择库标签,添加外部jars包,把三个jar包导入即可。放到lib下
Eclipse会自动帮你 build path 放其他地方的话 就需要你手动build path

(如果是myeclipse中的servlet,jsp的。加载路径就好:


)

接下来开始编写代码:


   String sql = "use spdb select * from users";
    //指定好驱动
   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

    // 连接字符串,格式:( "jdbc:公司名称:数据库驱动名称://数据库服务器ip:端口号;DatabaseName=数据库名称","数据库账号","密码")

   Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName = spdb", "sa","sa"); 

   Statement  stmt = conn.createStatement();

     //返回记录
   ResultSet  rs   = stmt.executeQuery(sql);

   while(rs.next()){   
   String s = rs.getString(2);
   System.out.println(s);

这时有可能出现问题:

问题1:异常[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'sa' 登录失败

解决办法:

第一步:在打开SQL的服务器(用本地登陆SQL后,对象资源管理器里的绿色图标),属性里面->安全性,设置为windows和sql混合身份验证模式。

第二步:回到对象资源管理器,展开安全性选项,右击sa属性,在状态里面改为启用。(如果不用sa,也可以重新创建一个账户)

这两步都好了,必须要在配置管理中关掉SQL的服务,重启。否则任然出现登陆失败。



问题2:异常[Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position.

解决办法:如果原本数据库中就没有值,那么会出现该警告。但是我的数据库中有值。百度后得到的结果是:问题很简单,默认打开时的游标不是在第一行上(而是在第一行之前),所以你根本不能取数据,当然需要使用rs.next()来移动游标才行. 

解决之后还是会出现该警告,后来发现是要在查询语句中加入use spdb,即sql = "use spdb select 

* from users"


以下为一些小问题:

关键字 'from' 附近有语法错误:

在调用这个pr=ct.prepareStatement("select top "+pageSize+" * from users");的时候,top后面空格,*号前面空格要加



这里有个statement和prestatement的差别
第一:

prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。  
createStatement不会初始化,没有预处理,没次都是从0开始执行SQL

第二:

prepareStatement可以替换变量  
在SQL语句中可以包含?,可以用ps=conn.prepareStatement("select * from Cust where ID=?");  
int sid=1001;  
ps.setInt(1, sid);  
rs = ps.executeQuery();  
可以把?替换成变量。  
而Statement只能用  
int sid=1001;  
Statement stmt = conn.createStatement();  
ResultSet rs = stmt.executeQuery("select * from Cust where ID="+sid);  
来实现。

第三:

prepareStatement会先初始化SQL,先把这个SQL提交到数据库中进行预处理,多次使用可提高效率。  
createStatement不会初始化,没有预处理,没次都是从0开始执行SQL



 今天出现编码出现了No suitable driver found for jdbc,又是找遍了网上的资料,基本上都说是三个问题:
    一是:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
    二是:驱动字符串出错(com.mysql.jdbc.Driver)
    三是Classpath中没有加入合适的mysql_jdbc驱动
    经过我的仔细检查,这三种错误我都没有犯,为什么呢?
    尝试着将mysql-connector-java-3.1.14-bin.jar的jar包加入C:\Program Files\Java\jre1.6.0_02\lib\ext文件夹下,问题解决了!!
    原来是不仅仅要求将驱动加入classpath中,而且需要将该jar包加入到java运行环境的外部jar包中,唉,下次这种低级错误还是少犯为妙

时间: 2024-08-03 13:07:02

eclipse,myeclipse中java连接数据库的问题的相关文章

如何在Eclipse/MyEclipse中安装spket插件

Spket ide是强大的工具包为了JavaScript和XML的开发,这个强大的编辑器对JavaScript, XUL/XBLand Yahoo! Widget的开发都有全面的支持 ,例如代码完成,语法高亮和内容概要,帮助开发有成效,创造高效率的javascript代码. 小巧的身躯,强大杀伤力,足以具备紫色装备的特点. 这款利器,专门为 使用 Ext, killer级的AjaxUI设计开发人员配备. spket是一个开发JavaScript和Ext等的开发工具,它可以 是独立的IDE,也可以

图片-求教大神在myeclipse中java项目部署不到tomcat是什么原因

问题描述 求教大神在myeclipse中java项目部署不到tomcat是什么原因 解决方案 MyEclipse中的java项目,部署到tomcat失败MyEclipse中无法部署tomcat的原因MyEclipse中无法部署tomcat的原因 解决方案二: 你这个tomcat安装配置的有问题啊, 在本地先单独起一下服务器看行不 之后如果行,就是myeclipse里的配置问题 如果不行,你就重装吧 解决方案三: 你建的项目是web项目吗 解决方案四: 不是我建的是java项目,web项目是可以部

急!急!急!希望各位大虾能帮我解决下在MyEclipse中Java程序创建数据库的问题

问题描述 问题有21:创建数据库,代码如下,有什么错误,请各位大虾指正,小弟感激不尽!ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;"+"databasename='weixin'","sa","1990928");//3.创建一个ps,创建数据库ps=ct.prepareStatement("createdateb

Idea中java文件乱码问题

问题描述 Idea中java文件乱码问题 我导入之前在eclipse中创建的项目到Intellij Idea,但是所有的java文件都显示是乱码,而且我在两个IDE中项目的编码都是UTF-8. 如图: 但当我在idea中打开java文件时,java文件中变成了乱码,但xml文件却是正常的. 如图: 有没有大神能解释我遇到的问题? 解决方案 java文件中的中文注释乱码问题MyEclipse中java文件注释乱码问题idea 乱码问题,reload无效 解决方案二: 你的这是连英文都乱码,这不科学

myeclipse中加载nutch的问题 求帮助 急!!!谢谢!

问题描述 myeclipse中加载nutch的问题 求帮助 急!!!谢谢! 在myeclipse中搭建nutch环境时,按网上的安装步骤降nutch(Nutch-1.0)项目lib目录下的Hadoop的核心包hadoop-0.19.1-core.jar换成可以在windows下抓取的已修改过的hadoop-core-1.1.2.jar结果运行crawl.java一直有错 (图一) 可是换回0.19版的也还是有错(图二)翻看hadoop.log就提示login failed(图三) 解决方案 关于

java-myeclipse中Java导出项目报错

问题描述 myeclipse中Java导出项目报错 解决方案 出现这个问题是因为编译的时候编码跟文件存储的编码方式不一样造成的,你可以参考下这篇blog,希望对你有帮助. 解决方案二: 那你看下这个问题和答案,也许可能有你需要的 解决方案三: 刚刚那个忘插入链接了

Java学习第一课:搭建Eclipse+MyEclipse+Tomcat

原文:http://www.cnblogs.com/cy163/archive/2009/05/01/1447565.html   cy163注:最好使用tomcat的安装版,这样可以不用增加和设置 Windows的系统变量,另外,安装版的tomcat提供快捷方式启动和关闭 Tomcat .而在非安装版,只能在DOS的命令行方式输入shutdown.bat和startup.bat来启动和关闭 Tomcat. 安装版下载地址 http://www.eu.apache.org/dist/tomcat

Eclipse和MyEclipse中jdk的问题

问题描述 有个问题想请教一下:在Eclipse和MyEclipse中有没有自带的jdk啊?如果有,那在什么目录下面呢?如果没有,机器装了jdk之后,不配置环境变量话,Ecplise和MyEclipse还可以编写和运行是嘛?他们自己会去寻找jdk?还有一个问题是:jdk-6u27-linux-i586.binjdk-6u27-linux-i586-rpm.bin这两个JDK有什么区别呢?分别安装在什么环境下的?i586是指装在32位机器上面的吗?请朋友们指点?万分感谢! 问题补充:freish 写

java项目中,本地文件夹内有DOM4J,可是在myEclipse中不显示

问题描述 java项目中,本地文件夹内有DOM4J,可是在myEclipse中不显示 java项目中,本地文件夹内有DOM4J,可是在myEclipse中不显示 解决方案 你把jar拷过来放在lib下,再add build path 解决方案二: 你是不是设置过滤器了,jar包都不显示啊 解决方案三: java project的jar包并非在lib中,而是在这个jre system library里面,引用外部包的话是右键点击他.....................(具体步骤省略,,) 解决