当前位置:主页>仓库管理软件> 列表

下面SQL语句为什么不能正常执行?

企业管理软件版1楼: update Tech_Equipment set Int_Id=2,Str_Name=''2'',Str_Type=''台式机'',Str_DepName''技术部'',Str_Addr=''2'',Str_IpAddr=''2'',Str_Time=2005-10-8 10:31:25,Str_Place=''2'',Str_UserName=''张三'',Str_Remark='''' where Int_Id=2


执行后,提示:“不正常地定义参数对象。提供了不一致或不完整的信息。”
难道在set语句里面有Int_Id字段,在where语句里面就不能有Int_Id字段???还是别的原因?

2楼: 你的语句存在以下:
1、若不对Int_Id的值改变则无须将其进行Set;
2、Str_DepName''技术部''缺少了赋值符号;
3、对时间字段的处理应有SQL执行环境的制约,比如ORACLE、SQL SERVER等的不同而不同,可能需要转换函数 如易友进销存软件

3楼: 你的日期值不对:
update Tech_Equipment set Int_Id=2,Str_Name=''2'',Str_Type=''台式机'',Str_DepName''技术部'',Str_Addr=''2'',Str_IpAddr=''2'',Str_Time=''2005-10-8 10:31:25'',Str_Place=''2'',Str_UserName=''张三'',Str_Remark='''' where Int_Id=2

4楼: 日期加引号‘’

5楼: xgyong说的很明白,Int_Id=2不要set,它本身就是set的条件你一set就有问题了。

6楼: update Tech_Equipment [blue]set Int_Id=2,[/blue]Str_Name=''2'',Str_Type=''台式机'',[red]Str_DepName''技术部''[/red],Str_Addr=''2'',Str_IpAddr=''2'',Str_Time=2005-10-8 10:31:25,Str_Place=''2'',Str_UserName=''张三'',Str_Remark='''' where Int_Id=2
蓝色部分没有必要加上。
红色部分相信是笔误。
Access数据库:日期前加# 即:Str_Time=#2005-10-8 10:31:25#
SQLServer: 前加'' :即:Str_Time=''2005-10-8 10:31:25''
问这种问题前有必要说清数据库类型。

企业管理软件版7楼: 谢谢大家!问题已经解决.
散分.

8楼: 多人接受答案了。