当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 有个数据库字段命名为desc,在sqlserver里面查看显示为[desc],这是因为desc是sqlserver的关键字。一般情况下使用都是没有问题的,但是sqlcommandbuilder自动生成的插入语句不会自动加上[和]这就导致update的时候出错说desc附近有错误。 哪位知道如何解决这个难题?数据库字段名是不能改了工作量太大。 ......
    摘要: dim objxmlhttp, xml set xml = server.createobject("microsoft.xmlhttp") xml.open "get", serverurl, false pull the data from the web page xml.send strpagedat......


如何通过jdbc往sqlserver里面插入日期类型的数据

我在sqlserver里面建立一个表Users,里面有个字段RegisterTime为TimeStamp类型,  
  sql语句是insert   into   Users(firstname,lastname,username,password,RegisterTime)   values(li,yang,liyang,password,2005-01-01   10:30:30)  
  结果执行的时候报错“java.sql.SQLException:   [Microsoft][ODBC   SQL   Server   Driver][SQL   Server]????????   varchar   ?????   timestamp   ???????   eBookShop.dbo.Users??   RegisterTime?????   CONVERT   ?????????   ”  
  看来是类型不匹配的问题,请问大家日期类型数据怎么插入到sql表中?

NO.1   作者: kingdoom

java   有TimeStamp类型   转过在插入

NO.2   作者: hellwindy

我另外写了个类的啊  
   
  /*  
    *   Created   on   2005-9-2  
    */  
   
   
  import   java.sql.Date;  
   
  /**  
    *   @author   raito  
    */  
  public   class   StringToDate   {  
   
          /**  
            *   @param   sign_date  
            *   @return  
            */  
          public   static   Date   parse(String   sign_date)   {  
                  if(sign_date==null){  
                          return   null;  
                  }else{  
                  Date   date;  
                  System.out.print("#"+sign_date+"#");  
                  int   year=Integer.parseInt(sign_date.substring(0,sign_date.indexOf("-")));  
                  int   month=Integer.parseInt(sign_date.substring(sign_date.indexOf("-")+1,sign_date.lastIndexOf("-")));  
                  int   day=Integer.parseInt(sign_date.substring(sign_date.lastIndexOf("-")+1,sign_date.length()));  
                  date=new   Date(year-1900,month-1,day);  
                  return   date;  
                  }  
          }  
  }  
 

NO.3   作者: tanghanmeng

是你的日期格式的问题,应该看看你的sqlserver里的日期格式是什么,然后按照那个日期格式往里插入

NO.4   作者: lancelobb

sqlserver还有datetime格式  
   
  “把时间用#包起来试试”这个是access的格式

NO.5   作者: edward0716

晕~~用datetime完全可以符合你的需求了。  
  你的错误无非就是数据类型不匹配,在数据库中是Timestamp型,而insert的时候是string,当然也就不对了,楼上很多提出把插入的数据转换为timestamp类型就行。如  
  insert   into   @YOURTABLE(@data)   values(@timestamp)不必要把@timestamp转换成string


    摘要: 我们是一个小局域网 全部就10来台电脑 最近出了一个问题,我们的打印机装在一台2000系统的电脑上 现在公司除了2000能互相访问外,xp的就访问不到2000 但奇怪的是,xp系统的用管理员帐号就可以访问到2000 其他属于管理员权限的帐号都访问不了,提示是没有权限. 但xp系统的电脑能ping通安装打印机的电脑,就是除了管理员帐号能访问外, 其他的都不可以,请问怎么解决啊? 大家都等着打......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE