java JDBC的问题!有一个包已经 sqljdbc.jar 包导入了

我这要怎么弄啊!... 我这要怎么弄啊! 展开
 我来答
zhsh5395
2012-05-30
知道答主
回答量:21
采纳率:0%
帮助的人:12.7万
展开全部
//JDBC封装类 各种方法
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;

/**
* 学习(听,看)、思考(想)、行动(编码)、反思(改)
* */

public class JDBCTools implements IJDBCTools {

private Connection conn = null;
private Statement stmt = null;

private void getConnection() {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost:1433;DatabaseName=数据库名", "登录名", "密码");
stmt = conn.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
//增删改
public int update(String updateSql) {
int rows = 0;
try {
//先调用获取连接的方法
getConnection();

rows = stmt.executeUpdate(updateSql);

close();
} catch (Exception e) {
e.printStackTrace();
rows = -1;
}
return rows;
}
//查询
public LinkedList<Map<String, Object>> find(String findSql) {
LinkedList<Map<String, Object>> rsList = null;
try {
rsList = new LinkedList<Map<String, Object>>();

getConnection();
ResultSet rs = stmt.executeQuery(findSql);

ResultSetMetaData rsmd = rs.getMetaData();

while (rs.next()) {
Map<String, Object> rsMap = new HashMap<String, Object>();
for (int i = 0; i < rsmd.getColumnCount(); i++) {
//根据i+1的索引找到对应的地段的名字
String columnName = rsmd.getColumnName(i+1);
//再根据字段名找到对应的字段值
String columnValue = rs.getString(columnName);
//以字段名为key,字段值为value存储到map中
rsMap.put(columnName, columnValue);
}
rsList.add(rsMap);
}

rs.close();
close();
} catch (Exception e) {
e.printStackTrace();
}
return rsList;
}

//批量管理
public boolean batch(ArrayList<String> sqlList) {
try {
getConnection();

for (int i = 0; i < sqlList.size(); i++) {
stmt.addBatch(sqlList.get(i));
}

stmt.executeBatch();

close();
} catch (Exception e) {
e.printStackTrace();
}
return true;
}

private void close() {
try {
stmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
niceslj
2012-05-17 · TA获得超过184个赞
知道答主
回答量:95
采纳率:0%
帮助的人:55.8万
展开全部
connection 的import 应该是 :import java.sql.Connection;

你DriverManager import了没有?
还有,直接 ct.preparedStatement(select * from test); 就好了,不需要转换。
追问
报错:The method PreparedStatement(String) is undefined for the type Connection
{方法PreparedStatement (串)为类型连接是未定义}
追答
你第7行connection  import 错误,应该是  import java.sql.Connection;
我刚才说错了,
第30行应该是: ps = ct.prepareStatement();
第32行应该是: rs = ps.executeQuery(select * from test);
建议:eclipse开发的话在点号后面,比如ct. 后面 ,光标移到这个地方,按 Alt+/ 会出现提示,选择你想要的方法,这样就不会出错了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cangyinglzt
2012-05-17 · 超过30用户采纳过TA的回答
知道答主
回答量:124
采纳率:100%
帮助的人:63.7万
展开全部
你导入的Connection类不对,应该导入java.sql.Connection 而不是com.sun.conba……下面的Connection类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tan5061
2012-05-18
知道答主
回答量:9
采纳率:0%
帮助的人:6.1万
展开全部
很明显你的数据库驱动报导错了!!!
应该是:
import java.sql.Connection;
import java.sql.DriverManager;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-05-17 · TA获得超过321个赞
知道小有建树答主
回答量:588
采纳率:0%
帮助的人:167万
展开全部
你把鼠标方在红X的地方,看他提示什么东东
更多追问追答
追问
这是什么情况啊??????????
追答
你导入的包不对啊, connection不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式