我用vb将日期类型数据保存到SQL2000数据库字段类型为 datetime 类型但是 保存的结果与输入的日期竟然相差一百多年,请高手解答。
代码如下:'//假设当前日期为:2007-5-5
Dim dt as Date
dt=Date Sqlstr = "insert into quote (quoteId,dt)"
 Sqlstr = Sqlstr & " values ('" & (quoteId) & "',"&(dt)&")"
 DBCnn.Execute Sqlstr

解决方案 »

  1.   

    Dim dt as Date
    dt=format(now(),"YYYY-MM-DD") Sqlstr = "insert into quote (quoteId,dt)"
     Sqlstr = Sqlstr & " values ('" & quoteId & "','"& dt &"')"
     DBCnn.Execute Sqlstr
      

  2.   

    Sqlstr = "insert into quote (quoteId,dt)"
     Sqlstr = Sqlstr & " values ('" & quoteId & "','"& format(now(),"YYYY-MM-DD") &"')"
     DBCnn.Execute Sqlstr在SQL企业管理器里测试,很快能找到原因的。
      

  3.   

    目的数据库字段类型是 datetime 类型
      

  4.   

    date.spl文件内容如下:CREATE DATABASE [Mytest]  ON (NAME = N'Mytest_Data', FILENAME = N'd:\Program Files\Microsoft SQL Server\MSSQL\data\Mytest_Data.MDF' , SIZE = 1, FILEGROWTH = 1) LOG ON (NAME = N'Mytest_Log', FILENAME = N'd:\Program Files\Microsoft SQL Server\MSSQL\data\Mytest_Log.LDF' , SIZE = 1, FILEGROWTH = 1)
     COLLATE Chinese_PRC_CI_AS
    GO
    use [Mytest]
    GO
    CREATE TABLE [dbo].[TABLE1] (
    [date] [datetime] NULL 
    ) ON [PRIMARY]
    GO
    CREATE PROCEDURE [insert_TABLE1_1]
    (@date_1  [datetime])AS INSERT INTO [Mytest].[dbo].[TABLE1] 
     ( [date]) 
    VALUES 
    ( @date_1)
    GO数据环境dte.drp文件内容如下
    VERSION 5.00
    Begin {C0E45035-5775-11D0-B388-00A0C9055D8E} Dte 
       ClientHeight    =   6315
       ClientLeft      =   0
       ClientTop       =   0
       ClientWidth     =   5835
       _ExtentX        =   10292
       _ExtentY        =   11139
       FolderFlags     =   1
       TypeLibGuid     =   "{0CADAF1B-D33A-423F-AE68-C8F8135A2773}"
       TypeInfoGuid    =   "{DA249490-6672-4510-9B10-C4CCA750DC49}"
       TypeInfoCookie  =   0
       Version         =   4
       NumConnections  =   1
       BeginProperty Connection1 
          ConnectionName  =   "Con"
          ConnDispId      =   1001
          SourceOfData    =   3
          ConnectionSource=   "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=Mytest;Data Source=."
          Expanded        =   -1  'True
          IsSQL           =   -1  'True
          QuoteChar       =   34
          SeparatorChar   =   46
       EndProperty
       NumRecordsets   =   1
       BeginProperty Recordset1 
          CommandName     =   "dbo_insert_TABLE1_1"
          CommDispId      =   1010
          RsDispId        =   -1
          CommandText     =   "dbo.insert_TABLE1_1"
          ActiveConnectionName=   "Con"
          CallSyntax      =   "{? = CALL dbo.insert_TABLE1_1( ?) }"
          NumFields       =   0
          NumGroups       =   0
          ParamCount      =   2
          BeginProperty P1 
             RealName        =   "@RETURN_VALUE"
             Direction       =   4
             Precision       =   10
             Scale           =   0
             Size            =   0
             DataType        =   3
             HostType        =   3
             Required        =   0   'False
          EndProperty
          BeginProperty P2 
             RealName        =   "@date_1"
             Direction       =   1
             Precision       =   0
             Scale           =   0
             Size            =   0
             DataType        =   135
             HostType        =   7
             Required        =   -1  'True
          EndProperty
          RelationCount   =   0
          AggregateCount  =   0
       EndProperty
    End
    Attribute VB_Name = "Dte"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = True
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Option Explicit新建一标准工程,Ctrl+D添加文件dte.drp,在窗体上加一按钮代码如下
    Private Sub Command1_Click()
    Dte.dbo_insert_TABLE1_1 Date
    End Sub