为什么我收到此错误:
数据类型text和nvarchar在equal运算符中不兼容。 数据库中“用户名”字段是文本类型...
这是我的理解:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="my_answers.ascx.cs" Inherits="kontrole_login_my_answers" %>
<div style=" margin-top:-1280px; float:left;">
<p></p>
<div id="question">
Add question
</div>
</div>
<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"
>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:estudent_piooConnectionString %>"
SelectCommand="SELECT * FROM [question] WHERE ([username] = @fafa)">
<SelectParameters>
<asp:QueryStringParameter Name="fafa" QueryStringField="user"
Type="String"/>
</SelectParameters>
</asp:SqlDataSource>
答案 0 :(得分:5)
“text”用于非常大的文本字段,在现代版本的SQL Server中甚至不应该使用(由varchar / nvarchar(max)替换)在SQL Server中使用文本(和图像)列类型,你有您实际可以使用的一小部分操作。
无论是谁创建了“text”类型的用户名字段,都不知道他们在做什么,它会引起各种限制性问题,直到你可以将其更改为更合理的东西。