commandText="select * from aTable where 日期='2002/06/20'"
执行时提示参数类型不匹配
我的表中,日期是Date/Time型,问题是:在VC中怎样把比如'2002/06/20'这样的字符串变成日期型?
我试验了下面的代码:
COleVariant vDate="2002/06/20";
vDate.ChangeType(VT_DATE);
commandText="select * from aTable where 日期=vDate.date";
通不过
我又试验了下面的代码:
COleVariant vDate="2002/06/20";
//vDate.ChangeType(VT_DATE);
COleDateTime dt(vDate);
commandText="select * from aTable where 日期=dt";
还通不过How to do?????

解决方案 »

  1.   

    "select * from aTable where 日期 like '2002-06-20%'";
    我是这么做的,可以用的
      

  2.   

    "select * from aTable where 日期 =#2002-06-20%#";我记得是这个吧,不过可能有错,我只记得两个#搁开,自己试试吧~
      

  3.   

    要不是这个?"select * from aTable where 日期 =#02/06/20#";
      

  4.   

    对不起,又来打搅了,是这样的
    Open 和 Close 方法范例
    该范例使用已经打开的 Recordset 和 Connection 对象的 Open 和 Close 方法。Public Sub OpenX()    Dim cnn1 As ADODB.Connection
        Dim rstEmployees As ADODB.Recordset
        Dim strCnn As String
        Dim varDate As Variant    ' 打开连接。
            strCnn = "Provider=sqloledb;" & _
            "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
        Set cnn1 = New ADODB.Connection
        cnn1.Open strCnn
        
        ' 打开雇员表。
        Set rstEmployees = New ADODB.Recordset
        rstEmployees.CursorType = adOpenKeyset
        rstEmployees.LockType = adLockOptimistic
        rstEmployees.Open "employee", cnn1, , , adCmdTable    ' 将第一个雇员记录的受雇日期赋值给变量,然后更改受雇日期。
        varDate = rstEmployees!hire_date
        Debug.Print "Original data"
        Debug.Print "  Name - Hire Date"
        Debug.Print "  " & rstEmployees!fName & " " & _
            rstEmployees!lName & " - " & rstEmployees!hire_date
        rstEmployees!hire_date = #1/1/1900#
        rstEmployees.Update
        Debug.Print "Changed data"
        Debug.Print "  Name - Hire Date"
        Debug.Print "  " & rstEmployees!fName & " " & _
            rstEmployees!lName & " - " & rstEmployees!hire_date    ' 再查询 Recordset 并重置受雇日期。
        rstEmployees.Requery
        rstEmployees!hire_date = varDate
        rstEmployees.Update
        Debug.Print "Data after reset"
        Debug.Print "  Name - Hire Date"
        Debug.Print "  " & rstEmployees!fName & " " & _
            rstEmployees!lName & " - " & rstEmployees!hire_date    rstEmployees.Close
        cnn1.CloseEnd Sub祝工作开心
      

  5.   

    你用的什么数据库
    oracle8i:
    "select * from tablename where date='01-1月-1992'"
      

  6.   

    用#日期#试一下,在access里面可以