1.  为何选用SQLserver2008?

      在开始项目之初,我选用mysql即Oracle公司的一个体积小、速度快的小型数据数据库,但我在使用jdbc连接时,出现了多处无法解决的问题,故放弃使用。

      在用SQLserver2008时,使用4.0版本的sqljdbc4.jar进行连接,顺利完成了连接,故使用SQLserver2008。

 2.使用一个javabean与数据库建立连接

登录数据库使用的是sqlserver验证,验证密码安装时就已经设定好了。

 
  
  1.  static { 
  2. try { 
  3. Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
  4. catch (ClassNotFoundException e) { 
  5. e.printStackTrace(); 
  6. public static Connection getConn(){ 
  7.  
  8. Connection conn = null
  9. try { 
  10. conn= DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DataBaseName=shopping","sa","123qaz"); 
  11. }catch(SQLException e){ 
  12. e.printStackTrace(); 
  13. return conn; 

此处使用的端口是1143,首先要确认sqlserver的服务已开启,之后打开sqlserver2008配置管理器c查看端口是否开启,具体详细开启过程请看http://hi.baidu.com/bzdxiayizhan/item/a6727857d37bfbc49f266747

 3.在数据库建表过程中出现的小问题


使用identity(1,1)实现从1开始,没产生一个新的id自增1.

一开始使用auto_increment,现在已经不使用,不是关键字,而改用identity。

 
  
  1. id int primary key identity(1,1),  

当使用identity时,使用javabean对数据库进行增加数据操作时必须使用如下形式:

 
  
  1. String sql= "insert into users(username,password,phone,addr,rdate)values(?,?,?,?,?)"

否则出现“仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'users' 中为标识列指定显式值”错误提示。

另一种修改方式,请参见:http://blog.csdn.net/routered/article/details/5523260


建库时不要使用user作为一个table的名字,user是数据库里的保留字,若想使用[user]即可。但引用时,很费力,建议不要使用。