声明:SQLCE环境下
表timedata有四个字段:time(时间型,主键),a(整型),b(整型),c(浮点型)。
要更新某一条记录,现有语句:
updata timedata set
time = 2006-03-20 19:23:12
a=8
b=8
c=2.6
where time = 
{select min(time) in timedata}不知道为什么每次都说不对?
那位高人给点意见?

解决方案 »

  1.   

    create table #timedata(time datetime,a int,b int,c decimal(10,2))update #timedata set
        time = '2006-03-20 19:23:12',
        a=8,
        b=8,
        c=2.6
    where time = (select min(time) from #timedata)drop table #timedata
      

  2.   

    报告错误:The number sign(#) is reservd and cannot be used as the first character of an identifer.
    问:
    create table #timedata(time datetime,a int,b int,c decimal(10,2))
    什么用?
      

  3.   

    --上面是创建了测试环境,就你的SQL而言update timedata set
        time = '2006-03-20 19:23:12',
        a=8,
        b=8,
        c=2.6
    where time = (select min(time) from timedata)
      

  4.   

    如果是:
    update timedata set
        a=8,
        b=8,
        c=2.6
    就正确但如果加上 time = '2006-03-20 19:23:12',即update timedata set
        time = '2006-03-20 19:23:12',
        a=8,
        b=8,
        c=2.6
    就错了。
    SQLCE下的time 应该用什么格式来写?
      

  5.   

    ----------------
    update timedata 
    set
     time=' 2006-03-20 19:23:12',
     a=8,
     b=8
     c=2.6
    where time=(select min(time) from timedata)
      

  6.   

    搞清楚了,前面是由于time是主键,所以不能操作。
    改掉后,update timedata 
    set
     time=' 2006-03-20 19:23:12',
     a=8,
     b=8
     c=2.6
    已经可以。
    但是
    update timedata 
    set
     time=' 2006-03-20 19:23:12',
     a=8,
     b=8
     c=2.6
    where time=(select min(time) from timedata)
    还是不行!