请问一下,这条语句为什么是错的呢?(20分)

W

winsock

Unregistered / Unconfirmed
GUEST, unregistred user!
ql.Add('Update 表 Set 字段1='''+dbedit2.text+''' where 字段2='''+formatdatime+'''');
 
formatdatetime('yyyy-mm-dd',date)你没加参数吧
 
sql.Add('Update 表 Set 字段1='''+dbedit2.text+''' where 字段2='''+formatdatime('yyyy-mm-dd',date)+'''');
 
你的第二个字段显然是数据字段
是什么数据库,因为不同的数据库对应的时间转换函数也不一样
oracle:
ql.Add('Update 表 Set 字段1='''+dbedit2.text+''' where 字段2= to_date(''yyyy-mm-dd H24:mi:ss'','''+
formatdatime+''')');
如果是access,好像按你的就没错
 
字段2是字符字段吧。单引号的数目不对吧。
ql.Add('Update 表 Set 字段1='+''''+'+dbedit2.text+'+''''+' where 字段2='+''''+'+formatdatime+'+''''+');

 
sql.Add('Update 表 Set 字段1='+QuotedStr(dbedit2.text)+
' where 字段2='+QuotedStr(formatdatime('yyyy-mm-dd',date)));

如果你的字段2是日期类型,恐怕where子句不能这么写了。
 
多人接受答案了。
 
顶部