您的位置:程序门 -> .net技术 -> c#



请问如何解决“语法错误(操作符丢失)在表达式...中”


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请问如何解决“语法错误(操作符丢失)在表达式...中”
发表于:2007-02-23 20:41:05 楼主
写了一个sql语句,让数据库中两个表中的两项相乘,结果存入一个表的一个字段中
,使用的oledb连接access数据库。

语句为
private   void   button3_click(object   sender,   system.eventargs   e)
{
try
{
this.oledbcommand2.commandtext   = "update   fstaff   set   fstaff.fsalary   =   fnumber*fprice   from   fstaff,fsweater   where   fstaff.ftype=fsweater.ftype ";
this.oledbconnection1.open();
this.oledbcommand2.EXECutenonquery();
}
catch(exception   ex)
{
messagebox.show(ex.tostring());

}
finally
{
this.oledbconnection1.close();
}
另外,该sql语句,使用sql   server2000,在其中建立相同的标,直接使用查询分析器能够得到正确结果,可是为什么到了access这就出问题了呢?
发表于:2007-02-23 21:04:471楼 得分:0
this.oledbcommand2.commandtext   = "update   fstaff   set   fstaff.fsalary   =   fstaff.fnumber*fstaff.fprice   from   fstaff,fsweater   where   fstaff.ftype=fsweater.ftype ";
发表于:2007-02-23 21:12:042楼 得分:0
这样写与我上面好像没区别,试了一下也不行啊。

发表于:2007-02-24 09:31:563楼 得分:0
update   fstaff   set   fstaff.fsalary   =   fnumber*fprice   from   fstaff,fsweater   where   fstaff.ftype=fsweater.ftype
=============================================================================
update   fstaff,   fsweater   set   fstaff.fsalary   =   fnumber   *   fprice   where
fstaff.ftype   =   fsweater.ftype

试一下,不知道行不行.
发表于:2007-02-24 10:09:454楼 得分:0
这个问题应该是mssql与access上面支持sql语法不同引起的.......
发表于:2007-02-24 15:06:175楼 得分:0
改一下...

this.oledbcommand2.commandtext   = "update   fstaff   set   fsalary   =   fnumber   *   fpricer   where   fstaff.ftype   =   fsweater.ftype ";
发表于:2007-11-01 15:13:186楼 得分:0
网服务飞


快速检索

最新资讯
热门点击