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测试代码的, 谢谢热心人帮忙 分你拿走 展开
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测试代码的, 谢谢热心人帮忙 分你拿走 展开
2个回答
展开全部
补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();
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();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
听别人说是在JAVA中不能创建表的。。。我也很想知道。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询