// stmt=conn.createStatement();
// rs=stmt.executeQuery("select * from "+tableName);
PreparedStatement pstmt=conn.prepareStatement("select * from ?");
pstmt.setString(1,tableName);
// pstmt.setString(2,tableName);
rs = pstmt.executeQuery();
请问我这PreparedStatement语句是不是写错了?SQL语句用PreparedStatement写我上面的写法对么?
// rs=stmt.executeQuery("select * from "+tableName);
PreparedStatement pstmt=conn.prepareStatement("select * from ?");
pstmt.setString(1,tableName);
// pstmt.setString(2,tableName);
rs = pstmt.executeQuery();
请问我这PreparedStatement语句是不是写错了?SQL语句用PreparedStatement写我上面的写法对么?
解决方案 »
- 请教大虾们一个问题,网络爬虫如何应对延时跳转
- js通过document.getElementById获取不到对象.
- 如何在大文件上传前,阻止大文件上传?
- 写一个java程序,实现对一个二维数组按指定的列集进行排序?要求实现类似sql中order by的功能,移动时,整行移动,不能打乱整行顺序。
- 查詢數據庫的javabean.請高人給檢查一下錯誤的問題
- 请问出现下面exception的可能原因是什么?(分数不多了)
- Hibernate无法连接JBoss数据连接池
- 怎么样启动eclipse?
- 在动态网页中(JSP),好象很少用到Servlet,都是JSP+BEAN的多!是吗?
- tomcat-redis-session-manager的session问题
- 使用CSS布局方式设计一个网站的首页
- 求救:如何在页面上直接打开word或者Excel文档?
{
public static void main(String [] args)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:aa");
PreparedStatement ps = con.prepareStatement("select * from jobs where job_id = ?");
ps.setInt(1,1);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
System.out.println(rs.getInt(3));
System.out.println(rs.getInt(4));
}
rs.close();
ps.close();
con.close();
}
catch(Exception e)
{
System.out.print(e);
}
}
}? 应该是写在条件那里吧
如果写在表名那里, 会有SQL异常(已试验)
PreparedStatement pstmt=conn.prepareStatement("select * from "+tableName);
// stmt=conn.createStatement();
// rs=stmt.executeQuery("select * from "+tableName); 一点区别没有啊!
stmt=conn.createStatement();
// rs=stmt.executeQuery("select * from "+tableName); 这2句不就好了么
提示MySQL server version for the right syntax to use near ''account''at line 1
SQL语法错误.
// rs=stmt.executeQuery("select * from "+tableName);
PreparedStatement pstmt=conn.prepareStatement("select * from ?");
pstmt.setString(1,tableName);
// pstmt.setString(2,tableName);
rs = pstmt.executeQuery();
请问我这PreparedStatement语句是不是写错了?SQL语句用PreparedStatement写我上面的写法对么? PreparedStatement pstmt=conn.prepareStatement("select * from ?");
pstmt.setString(1,tableName);
假设 String tableName ="tableA";
得到的sql语句如下;
select * from 'tableA' ;
这个语句在数据库中是不可以执行!
相反
PreparedStatement pstmt=conn.prepareStatement("select ? from tableA");
String colName ="aaa";
pstmt.setString(1,colName );语句如下select ‘aaa’ from tableA
在数据库中是可以执行!
理解一下setString()作的动作!