Java中executeQuery方法的问题
Stringtarget=gui.txt.getText();Statementdb=con.createStatement();ResultSetrs=db.execu...
String target = gui.txt.getText();
Statement db = con.createStatement();
ResultSet rs = db.executeQuery("Select class from table where name = target");
其中的:
ResultSet rs = db.executeQuery("Select class from table where name = target");
这句为什么抛错呢?利用排除法已经排除程序的其他语句错误的可能,只剩这句一直不解。整个引号里面好像都不起作用,eclipse里面没有标记颜色,target变量也显示never used 展开
Statement db = con.createStatement();
ResultSet rs = db.executeQuery("Select class from table where name = target");
其中的:
ResultSet rs = db.executeQuery("Select class from table where name = target");
这句为什么抛错呢?利用排除法已经排除程序的其他语句错误的可能,只剩这句一直不解。整个引号里面好像都不起作用,eclipse里面没有标记颜色,target变量也显示never used 展开
3个回答
展开全部
你要用变量作为参数的话,不能用Statement,要用PreparedStatement.
String target = gui.txt.getText();
PreparedStatement pstmt = con.prepareStatement("Select class from table where name = ?");
pstmt.SetString(1, target );
然后 resultSet rs = pstmt.executeQuery();
就可以了。这PreparedStatement是专用来设置参数用的,Statement只能是在sql完全确定的情况下才能用。
String target = gui.txt.getText();
PreparedStatement pstmt = con.prepareStatement("Select class from table where name = ?");
pstmt.SetString(1, target );
然后 resultSet rs = pstmt.executeQuery();
就可以了。这PreparedStatement是专用来设置参数用的,Statement只能是在sql完全确定的情况下才能用。
展开全部
where name = 'target'
注意这对单引号。因为是字符串。
注意这对单引号。因为是字符串。
追问
可是这里的target不是变量吗?上面有一句:
String target = gui.txt.getText();
改了以后 出现了
warning: FT_OpenType_Validate is disabled. Replace FreeType2 with otvalid-enabled version.
请问这是什么警告?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ResultSet rs = db.executeQuery("Select class from table where name = ‘target’");
追问
可是这里的target不是变量吗?上面有一句:
String target = gui.txt.getText();
追答
那请你这样写
ResultSet rs = db.executeQuery("Select class from table where name =‘“ target”’");
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询