SQL Query 中的“等于运算符中的数据类型 text 和 nvarchar 不兼容”
Posted
技术标签:
【中文标题】SQL Query 中的“等于运算符中的数据类型 text 和 nvarchar 不兼容”【英文标题】:"The data types text and nvarchar are incompatible in the equal to operator" in SQL Query 【发布时间】:2010-05-03 23:35:30 【问题描述】:为什么会出现这个错误:
数据类型 text 和 nvarchar 在等于运算符中不兼容。 数据库中“用户名”字段为文本类型...
这是我的来源:
<%@ 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>
【问题讨论】:
错误信息告诉你到底出了什么问题。查看数据库中列的类型。 请参考:***.com/questions/54334/… 【参考方案1】:"text" 用于非常大的文本字段,在 SQL Server 的现代版本中甚至不应该使用(由 varchar/nvarchar(max) 代替)在 SQL Server 中使用文本(和图像)列类型,你有您可以实际使用的一小部分操作。
创建“文本”类型的用户名字段的人不知道他们在做什么,这会给您带来各种限制问题,直到您可以将其更改为更合理的内容。
【讨论】:
以上是关于SQL Query 中的“等于运算符中的数据类型 text 和 nvarchar 不兼容”的主要内容,如果未能解决你的问题,请参考以下文章
sql SQL Query替换数据库中的wp_posts内容
将列表绑定到 Pandas read_sql_query 中的参数与其他参数
我们可以在 Laravel 迁移中的单个 DB::statement("Query 1; Query 2") 中使用多个 SQL 查询吗?