2013-04-05 4 views
0

Я хочу создать поиск с использованием linq, у меня есть таблица User в SQL с двумя столбцами nvarchar FName и LName и PK идентификатора и другими столбцами.Оператор '> =' несовместим с типами операндов 'String' и 'Object'

ASPX:

<asp:TextBox ID="search" runat="server" AutoPostBack="True" 
          ontextchanged="search_TextChanged"></asp:TextBox> <br />  
    <asp:ListBox ID="found" runat="server" Height="400px" Width="300px" 
           AutoPostBack="True" DataSourceID="LinqUserSearch" DataTextField="Users" 
           DataValueField="Id"> 
    </asp:ListBox> 
    <asp:LinqDataSource ID="LinqUserSearch" runat="server" 
           ContextTypeName="Zhotel.User" EntityTypeName="" GroupBy="Id" 
           OrderBy="FName, LName" OrderGroupsBy="key" 
           Select="new (key as Id, it as Users)" TableName="Users" 
           Where="FName &gt;= @FName &amp;&amp; LName &gt;= @LName"> 
     <WhereParameters> 
     <asp:ControlParameter ControlID="search" Name="FName" PropertyName="Text" 
             Type="String" /> 
     <asp:ControlParameter ControlID="search" Name="LName" PropertyName="Text" 
             Type="String" /> 
    </WhereParameters> 
    </asp:LinqDataSource> 

, но во время выполнения приведенный выше код дает мне эту ошибку.

 Operator '>=' incompatible with operand types 'String' and 'Object' 

Я использую EF и ASP.NET 4.

+0

Возможно, у вас есть проблема с экранированием персонажа? (из БД или даже литералов) –

+0

@ d'alar'cop Я немного новичок, вы можете объяснить больше? –

+0

ОК. Вы видите, как у вас есть текст, окруженный «» (двойные кавычки)? - иногда содержимое, содержащееся внутри, должно быть «экранировано», поскольку некоторые символы имеют особые значения - например, \ n = символ новой строки. Таким образом, обычно нужно «экранировать» (обратную косую черту), а также использовать двойные кавычки, как правило, как «или», в зависимости от того, какой язык вы используете. –

ответ

0

Посмотрите здесь, чтобы вы начали:

http://forums.asp.net/t/1654093.aspx/1

Проблема заключается в том, скорее всего, вопросы характера побега.

Cheers.

Смежные вопросы