java creat table

我想在程序执行时动态创建表格,名字根据变量生成pstmt=con.prepareStatement("creattable?("+"ISBNvarchar(64),"+"... 我想在程序执行时动态创建表格,名字根据变量生成
pstmt=con.prepareStatement(
"creat table ? (" +
"ISBN varchar(64),"+
"total_num int(4)"+
")");
pstmt.setString(1, "PurchaseInfo"+customer.getCID());
pstmt.execute();

报错无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。

creat应该用什么语法?
不能建表的问题已经解决了,新的问题又出现了
Statement state=con.createStatement();
state.execute(
"create table PurchaseInfo"+customer.getCID()+"("+
"ISBN varchar(64)"+
")");
正确执行能在数据库中找到表
state.execute(
"create table PurchaseInfo"+customer.getCID()+"("+
"ISBN varchar(64),"+
"total_num int(4)" +
")");
报错CREATE TABLE 语句中的语法错误。
state.execute(
"create table PurchaseInfo"+customer.getCID()+"("+
"ISBN varchar(64) identity primary key ,"+
"total_num int(4)" +
")");
也不行看来不是主键的问题,语法有错么,帮我检查下,谢谢 我检查好几遍了
逗号是粘贴时候漏掉了程序里有的

终于知道原因了 access不支持 int(4) 瓦靠,偷个烂想用access测试代码的, 谢谢热心人帮忙 分你拿走
展开
 我来答
zicozhang
推荐于2016-02-10 · TA获得超过1621个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:0
展开全部
补4:加主键应该这样,
state.execute(
"create table PurchaseInfo"+customer.getCID()+"("+
"ISBN varchar(64) identity(1,1) primary key ,"+
"total_num int(4)," +
")");
--------
再补充:lz没有写逗号,应该是:

state.execute(
"create table PurchaseInfo"+customer.getCID()+"("+
"ISBN varchar(64),"+ ///这里有个逗号。。
"total_num int(4)" +
")");

------------
晕,才看到。把pstmt.execute();,改成:
pstmt.executeUpdate();(在第二种方法测试通过)
-------
creat写错了,应该是create。
另外,没试验过setString给table命设置参数的方法,如果改成create后还是不行的话,建议lz改成(若以上方法成功,则忽略以下):
pstmt=con.prepareStatement(
"create table "+PurchaseInfo"+customer.getCID()+"(" +
"ISBN varchar(64),"+
"total_num int(4)"+
")");
pstmt.execute();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
城光快勇1176
2008-03-24 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:62.1万
展开全部
听别人说是在JAVA中不能创建表的。。。我也很想知道。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式