java联接SQL数据库问题
发布网友
发布时间:2022-04-09 21:59
我来回答
共6个回答
热心网友
时间:2022-04-09 23:29
yu_liu_jian的回答中,既然使用了拼接的方式获得sql字符串,那么'和+之间不觉得少了一个"吗?
正确的应该是:String sql="SELECT * FROM WHERE BookName=' "+QueryBookName+" ' ";
或者这种拼接的方式嫌麻烦的话,还有更方便的:
String QueryBookName="java";
String sqlString = "select * from book WHERE bookName=?";
ResultSet rSet = null;
PreparedStatement pstmt = null;
Connection connection = null;
try {
if (connection == null || connection.isClosed()) { //获得connection
connection = createConnection();
connection.setAutoCommit(false);
}
pstmt = connection.prepareStatement(sqlString);
pstmt.setString(1, QueryBookName); //index从1开始.
rSet = pstmt.executeQuery();
connection.commit();
while (rSet.next()) {
//根据读取的内容生成book对象或者直接获得所需要的字段信息
}
} catch (SQLException e) {
try {
connection.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
closeAll(connection, pstmt, rSet); //将3个变量关闭
}
热心网友
时间:2022-04-10 00:47
String sql="SELECT * FROM WHERE BookName='+QueryBookName+'";
热心网友
时间:2022-04-10 02:21
String sql="SELECT * FROM WHERE BookName='“+QueryBookName+“‘;
也就是 ' " + val +" '
热心网友
时间:2022-04-10 04:13
其实这里用到的就是ODBC技术。ODBC是一种数据库和编程工具的连接桥梁(如用C#读取sql server的中的数据)我们就可以采用这种技术作为支持。
但你给出的代码,只是ODBC连接步骤中的一步,估计这个类DbConn就是用来做连接用的,需要Conn的对象时,调用此类的方法即可获得连接的对象。
热心网友
时间:2022-04-10 06:21
回答者: eric_luan 回答是比较好的, 这个是采用预处理的方式, 安全性比较好。呵呵!
热心网友
时间:2022-04-10 08:45
通过你上面的描述可以看出来,你的attribute1~3应该都是BOOLEAN型的,唯一的区别就在于SQL语句里面,你可以试试将updateStr2="UPDATE 孙氏五笔形音字库 SET atrribute2="+attribute2+" WHERE code = "+"'"+code+ "'";改为updateStr2="UPDATE 孙氏五笔形音字库 SET atrribute2='"+attribute2+"' WHERE code = "+"'"+code+ "'";试试,通常来说,如果是数字的才不加引号,加个单引号看看,如果再不行的话,估计就得检查你的数据库的各字段的属性了