繁体   English   中英

INSERT查询错误:不允许从数据类型varchar到varbinary的隐式转换。 使用CONVERT函数运行此查询。

[英]INSERT query error: Implicit conversion from data type varchar to varbinary is not allowed. Use the CONVERT function to run this query.

我正在尝试运行插入查询,但我收到以下错误。 如何将值传递给insert语句? 该值来自数组, [cNotes]列类型为varchar NULL

提前致谢。

错误:

        Error Executing Database Query.  
        [Macromedia][SQLServer JDBC Driver][SQLServer]Implicit conversion from data type varchar    to varbinary is not allowed. Use the CONVERT function to run this query.  

         The error occurred in C:\Inetpub\wwwroot\Components\Assessment.cfc: line 510
       Called from C:\Inetpub\wwwroot\Components\Assessment.cfc: line 440

          508 :                      ,NULL
          509 :                  </cfif>
          510 :                   ,'#arguments.notes#') 
           511 :        </cfquery>
          512 :     </cffunction> 



           --------------------------------------------------------------------------------

            SQL    INSERT INTO AssessmentToolDetail(iAssessmentToolMaster_ID ,iServiceList_ID   ,cRowStartUser_ID ,Service_text ,cNotes) Values(251069 ,3592 ,NULL ,'y ' ,'')   
           DATASOURCE   TIPS4 
             VENDORERRORCODE   257 
            SQLSTATE   HY000 '

CFC功能:

<cffunction name="AddService" access="public" returntype="void" output="false">
    <cfargument name="ServiceList" type="Components.ServiceList"  required="true">
    <cfargument name="notes" type="string" required="false" default="">
    <cfargument name="serviceText" type="string" required="false" default="">       

    <cfquery name="AddServiceListQuery" datasource="#variables.dsn#">
        INSERT INTO AssessmentToolDetail (
                iAssessmentToolMaster_ID
                , iServiceList_ID
                , cRowStartUser_ID
                , Service_text
                , cNotes )
        VALUES (
               #variables.id#
                ,#ServiceList.GetId()#              
                <cfif variables.rowStartUserId neq "">
                    , '#variables.rowStartUserId#'
                <cfelse>
                    , NULL
                </cfif>
                <cfif ListFirst( Arguments.serviceText,'_' ) EQ ServiceList.GetId() >
                    , '#Left(ListLast( Arguments.serviceText,'_'),1)# '
                <cfelse>
                    , NULL
                </cfif>
                ,  '#arguments.notes#'
              ) 
    </cfquery>
</cffunction>

该错误表明您正在尝试将字符串插入具有二进制存储格式的列中,并且它无法隐式进行转换。

检查AssessmentToolDetail表中的cNotes列是否具有varchar(n)nvarchar(n)的数据类型,而不是varbinary(n)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM