select top 25 a.[ID],a.[OrderID],b.[Name] as pName,a.[Quantity],a.[Sum],a.[Date],a.IsPay,c.[Name] as mName from [Order] a left outer join Product b on a.ProductID=b.ProductID left outer join Member c on a.MemberID=c.MemberID where 1=1 order by a.[ID] Desc就是这样,就关联一下产品表读产品名称,然后关联一下会员表读会员名字
提示语法错误(操作符丢失)
我不知道什么原因,帮忙看一下啊
提示语法错误(操作符丢失)
我不知道什么原因,帮忙看一下啊
解决方案 »
- delphi程序,调用.NET exe程序。并传过来参数。.NET如何获得该参数
- 这样情况的GDI+绘图用静态类还是动态类?又为何类中无法重写OnPaint方法呢?
- 关于kernel32.dll的问题
- .net VS2005 里实现水印功能的控件。
- 如何处理"未处理的异常"
- 请问怎么给水晶报表模板上的字段填充数据呀?急!
- 如何在C#中运行一个DOS命令行的应用程序
- 在局域网中如何得知别的机器上的SQL Server管理服务器是否在运行!谢谢!
- 关于DataSet的讨论
- 绑定了DataSource,但是数据变化的时候界面并不刷新。这是为什么?
- WINFORM如何掉用外部的DLL文件
- 做个B/S系统,要能具有传真的功能,具有权限的用户登入系统后 可以通过系统,然后通过传真机 根据系统提
这在这里是没用的,就加了一个where关键字,因为后面有时候会加and条件,所以防止出错啊
不会吧,哦,我用的是access数据库,是不是access不支持这种语句的啊?
Access的话,改成这样试试select top 25
a.[ID],a.[OrderID],b.[Name] as pName,a.[Quantity],a.[Sum],a.[Date],a.IsPay,
c.[Name] as mName
from [Order] a,Product b,Member c
where a.ProductID=b.ProductID and a.MemberID=c.MemberID
order by a.[ID] Desc
呵呵,我原来也是用这种方式,但是考虑到表多了容易乱,所以改用这种方式,原来的代码是这样的
public DataSet GetList(int intPageSize, int intPageIndex, string strWhere, string strOrderField, string strOrderDirection)
{
StringBuilder strSql = new StringBuilder();
if (intPageIndex == 1)
{
strSql.Append("select top " + intPageSize.ToString() + " a.ID,a.OrderID,b.Name as pName,a.Quantity,a.Sum,a.[Date],a.IsPay,c.Name as mName from [Order] a");
strSql.Append(" left outer join Product b on a.ProductID=b.ProductID ");
strSql.Append(" left outer join Member c on a.MemberID=c.MemberID ");
strSql.Append(" where 1=1 " + strWhere + " order by a." + strOrderField + " " + strOrderDirection + "");
}
else
{
strSql.Append("select top " + intPageSize.ToString() + " a.ID,a.OrderID,b.Name as pName,a.Quantity,a.Sum,a.[Date],a.IsPay,c.Name as mName from [Order] a");
strSql.Append(" left outer join Product b on a.ProductID=b.ProductID ");
strSql.Append(" left outer join Member c on a.MemberID=c.MemberID ");
strSql.Append(" where a.[" + strOrderField + "] not in(select top " + (intPageIndex - 1) * intPageSize + " [" + strOrderField + "] from [Order] where 1=1 " + strWhere + " order by [" + strOrderField + "] desc) " + strWhere + " Order by a.[" + strOrderField + "] " + strOrderDirection + "");
}
return DbHelperSQL.Query(strSql.ToString());
}
请问哪里不同,应该怎么改呢这个查询,调试出来的语句是
select top 25 a.ID,a.OrderID,b.Name as pName,a.Quantity,a.Sum,a.[Date],a.IsPay,c.Name as mName from [Order] a left outer join Product b on a.ProductID=b.ProductID left outer join Member c on a.MemberID=c.MemberID where 1=1 order by a.ID Desc
执行的时候出错的
http://www.cnblogs.com/wayne1017/archive/2006/09/15/505030.html
Sorry,Access支持这样的语法,改下试试:select a.ID,a.OrderID,b.[Name] as pName,a.Quantity,a.Sum,a.[Date],a.IsPay,c.Name as mName
from
([Order] a left outer join Product b on a.ProductID=b.ProductID)
left outer join Member c on a.MemberID=c.MemberID
where 1=1 order by a.ID Desc