hur.cn - 华软网

 热门搜索

大侠帮忙看看这个代码错在哪里!

  作者:未知    来源:网络    更新时间:2018/10/12
//按日期
     IF rb_2.checked=true then

      string rq
      If sle_1.text=""  Then
      MessageBox("提醒", "请输入您要查询的日期")
      sle_1.SetFocus()
      Else
   SELECT *
   INTO :rq
   FROM mprk
   where mprk.rq=:sle_1.text;
   If SQLCA.SQLCode=100 Then
    MessageBox("提醒信息","您输入的datetime不存留!")
     Else

    dw_1.settransobject(sqlca)
          dw_1.setfilter("rq='"+trim(sle_1.text)+"' ")
          dw_1.retrieve()
    End If
      end if 
   end if

我是用SQL SERVER 2000做为数据库的,用上面的代码查询另外字段都没有什么问题,但就是在查询日期的时候出现“types of expressions must match”,请问大侠如何改是好?谢谢!
------华软网友回答------
数据库里的日期是什么类型的?
------华软网友回复------
SELECT *    INTO :rq
这个表只有一个字段吗,一个字段也不要这样写啊

dw_1.setfilter("rq='"+trim(sle_1.text)+"' ")
rq是字符型吗

------华软网友回复------
在MS-SQLSERVER里面只有DATETIME型啊,我就是用这个的!
------华软网友回复------
回xiaoplx:
    不是只有一个字段,*代表所有的字段吧!
   rq是DATETIME型的,悔改字符型,但照旧不行!
------华软网友回复------
SELECT *  INTO :rq  你只INTO到一个变量,所以SELECT错了

------华软网友回复------
回xiaoplx:
    那怎么改才好啊?是否是要把所有的字段都要写出来,再into对应的变量?
   
    那下面的代码另有没有毛病?是否是要在PB里 还做一些修改才能够查询日期?
太谢谢你了,这个问题搞了我很久了,很让人头痛!
------华软网友回复------
IF rb_2.checked=true then

      string rq
      If sle_1.text=""  Then
      MessageBox("提醒", "请输入您要查询的日期")
      sle_1.SetFocus()
      Else
   SELECT *
   INTO :rq
   FROM mprk
   where mprk.rq=:sle_1.text;
   If SQLCA.SQLCode=100 Then
    MessageBox("提醒信息","您输入的datetime不存留!")
     Else

    dw_1.settransobject(sqlca)
                      dw_1.retrieve()
          if IsDate(trim(sle_1.text)) then
             dw_1.setfilter("rq="+trim(sle_1.text))
             dw_1.filter()
           end if
    End If
      end if 
   end if


------华软网友回复------
dw_1.setfilter("rq='"+trim(sle_1.text)+"' ")
改成
dw_1.setfilter("rq=datetime('"+trim(sle_1.text)+"') ")

------华软网友回复------
非常谢谢凌云剑和一刀,我先试一下,如果还不行,希望能再次获得二位大侠的帮助!
------华软网友回复------
非常谢谢二位,在你们的帮助下,我的问题已经解决了,希望下次能够获得你们的帮助,祝愿你们事情顺心,生活愉快!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。