[OleDbException(0x80040e14):查询表达式'PCName =<%#Eval('PCName')%>'中的语法错误(缺少运算符)。

时间:2012-02-23 15:24:11

标签: asp.net sql database

没有where命令,结果如下所示,每次在产品类别

之后重复所有记录

新的笔记本电脑 宏碁 戴尔 生命值 金士顿 索尼 USB闪存盘 宏碁 戴尔 生命值 金士顿 索尼 使用笔记本电脑 宏碁 戴尔 生命值 金士顿 索尼

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"></head>
<body>    
<form id="form1" runat="server">
<div>
    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">
    <ItemTemplate>
    <li><asp:Label ID="Label1" runat="server" Text='<%# Bind("PCName") %>' /></li>
<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="~/Database/PDetail.mdb" 
SelectCommand="SELECT DISTINCT [PBName] FROM [PDETAIL] WHERE PCName= <%# Eval('PCName')%> " />
<asp:Repeater ID="Repeater2" runat="server" DataSourceID="AccessDataSource2">
    <ItemTemplate> <li> <%# Eval("PBName")%> </li> </ItemTemplate>
</asp:Repeater>
    </ItemTemplate>
    </asp:Repeater>

<asp:AccessDataSource ID="AccessDataSource1" runat="server"  DataFile="~/Database/PDetail.mdb" 
    SelectCommand="SELECT DISTINCT [PCName] FROM [PDETAIL]" />
</div>
</form>

1 个答案:

答案 0 :(得分:0)

<ItemTemplate>

<asp:AccessDataSource ID="AccessDataSource2" 
      runat="server" DataFile="~/Database/PDetail.mdb" 
      SelectCommand='<%# "SELECT DISTINCT [PBName] FROM [PDETAIL] WHERE PCName= " +  (char)39 + Eval("PCName") + (char)39 %>'  />

</ItemTemplate>


 (char)39 is for '