永发信息网

Java中SQL参数问题

答案:3  悬赏:60  手机版
解决时间 2021-04-13 02:06
  • 提问者网友:姑娘长的好罪过
  • 2021-04-12 14:43

JAVA中部分源代码如下
PreparedStatement tmpSql=conn.prepareStatement("create table xxx( ? char(20) not null, ? char(20) not null)");
tmpSql.setString(1,"username");
tmpSql.setString(2,"password");
tmpSql.execute();
就会报如下异常: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]第 1 行: '@P1' 附近有语法错误。

但是若改成如下不带问号的句子就正常!!
PreparedStatement tmpSql=conn.prepareStatement("create table xxx(username char(20) not null,userpassword char(20) not null)");
tmpSql.execute();

还有,就是如果有问号,但不是CREATE语句,如INSERT语句,也能执行成功,若有高手,敬请出手相助,我该如何用带有问号preparedStatement语句来在SQl数据库中创建表!!
谢!!!

最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-04-12 15:55
这个好像是因为sql server2000是T-SQL语句所以有点不同!做java开发的话不怎么推荐用sql server数据库,mysql数据库好得多!
全部回答
  • 1楼网友:低音帝王
  • 2021-04-12 17:40
你可以建立一个存储过程,在过程中去建立table,然后将字段名作为参数传进去
  • 2楼网友:山有枢
  • 2021-04-12 17:18
用Oracle,db2,或者MySql都可以,不要用SqlServer了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯