问题有2
1:
   创建数据库,代码如下,有什么错误,请各位大虾指正,小弟感激不尽!
   ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;" +
     "databasename = 'weixin'","sa","1990928");
   //3.创建一个ps,创建数据库
   ps = ct.prepareStatement("create datebase weixin1)");
   //4.
   boolean b = ps.execute();
   
   if(b)
   {
    System.out.println("创建数据库成功!");
   }
   else
   {
    System.out.println("创建数据库失败!");
   }
   执行的结果是“创建数据库失败”,而且我在SQL Server 2000数据库中也找不到该数据库,但是如果按照该代码再执行一次,它就显示已经存在weixin1这个对象
2.创建表也是这种情况,代码如下:
  ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;" +
     "databasename = 'aaa'","sa","1990928");
   //3.创建一个ps,创建数据库
   ps = ct.prepareStatement("create table weixin(fsdfs int,str varchar(30))");
   //4.
   boolean b = ps.execute();
   
   if(b)
   {
    System.out.println("创建数据库成功!");
   }
   else
   {
    System.out.println("创建数据库失败!");
   } 

解决方案 »

  1.   

    commit.事务请提交.
    首先你创建没有事务提交,所以你去数据库找不到,
    再次.你又创建,你是用代码创建的,他在数据库里已经创建了,只是你没有提交而已.
    所以会提示你已经存在.
    但是你去数据查询.绝对还是没有的..
    所以.楼主提交一下.
      

  2.   

    第一次听说到用代码创建数据库文件名,甚至连Hibernate框架也需要我们手动创建数据库名称!
      

  3.   

    建库,建表这种事情最后不要交给 JDBC 做!JDBC 应该只负责数据表应用层面上的开发,而不是数据库层面上的开发!
      

  4.   

    我觉得这样的说法是正确的,因为我最近在做Oracle数据库表的更新和删除的过程中遇到很多这种问题都是因为Commit引起的,另外还有一个就是Rollback。。
      

  5.   

    去看一下 jdk 的 api。问题1中其实数据库已经创建了,你在 sql server 2000 管理界面看不到数据库,是不是你没有刷新?如果执行 SQL 没有错误那么 prepareStatement 对象中的 execute 方法返回的就是 true。问题2是与问题1差不多,还有表名最好不要与数据库名一样。