zoukankan      html  css  js  c++  java
  • c# 数据类型 ntext 和 varchar 在 equal to 运算符中不兼容

    执行SQL查询语句时报错:数据类型 ntext 和 varchar 在 equal to 运算符中不兼容

    StringBuilder strSql = new StringBuilder();
    strSql.Append("select top 1 ValId,DocId,ParaValue,CreateUser,CreateTime,UpdateUser,UpdateTime,ChangeFlag from TAB_VALUE ");
    strSql.Append(" where DocId=@DocId and ParaValue=@ParaValue");
    SqlParameter[] parameters = {
    new SqlParameter("@DocId", SqlDbType.Int)
    new SqlParameter("@ParaValue", SqlDbType.Ntext)
    };
    parameters[0].Value = DocId;
    parameters[1].Value = ParaValue;

    TAB_VALUE表中的ParaValue字段是Ntext类型

    解决方案:把where条件修改成:where DocId=@DocId and convert(nvarchar(255),ParaValue)='" + ParaValue + "'

    解析:不管是ntext还是nvarchar,实体类中的影射都应该是string,因为C#只有string是用来表示字符串的,不过这两个数据类型在数据库中是完全不同的,所以无法在他们之间进行比较操作

  • 相关阅读:
    正向代理与反向代理
    uniapp
    js
    js
    uniapp
    uniapp
    uniapp
    uniapp
    关于资源获取(请把https改为http)
    uniapp
  • 原文地址:https://www.cnblogs.com/selenazhou/p/13332838.html
Copyright © 2011-2022 走看看