jdbc中使用数据库查询语言遇到的问题

新手上路,请多包涵

"select * from where ? = ?"
这种写法或者
String sql="select * from where "+getType+" = ?";
这种写法可行吗,可行的话,gettype应该定义为什么类型的数据才能正常查询,新手不是很明白,望大佬们指点,说的越简单越好。

阅读 2.3k
3 个回答

select * from 表 where ? = ? 这种不行, 第一个参数字段名肯定是字符串, sql会加单引号
第二个通过字符串拼接可以, getType的值应该是表中存在的字段

select * from 表 where ? = ?这个写法可以,不过应该没什么意义,它会要你提供两个参数,然后比较两个参数的值,这肯定不是你想要的结果。

String sql="select * from where "+getType+" = ?";是可以的,不过getType必须是字符串类型,它的值表示一个字段名。但我估计这不是你想要的。

你想要实现什么样的查询,没有说清楚。

首先你得理解你写的代码是干什么的,你现在需要使用jdbc进行数据库查询对吧?怎么进行数据库查询?写一段sql语句,sql语句写好以后怎么办呢?需要执行这段sql语句,怎么执行呢?jbdc给你写好了接口,使用jdbc创建connection,再使用创建的连接(connection)创建statement,statement执行sql语句。
综上,使用jdbc进行数据库查询,你只需要写好sql语句就好,在java代码里你当然是通过String存储sql语句,难道你可以把“select * from table where col=xx”存储到int,double类型,所以你的gettype肯定是个字符串啊。
注意事项:select * from student where c_name='张三' sql语句中的varchar字段值一定要使用英文单引号''

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题