Я пытаюсь запустить запрос вставки, но я получаю ошибку ниже. Как передать значения в мой оператор insert? Значение поступает из массива, а тип столбца [cNotes]
- varchar NULL
.Ошибка запроса INSERT: неявное преобразование из типа данных varchar в varbinary недопустимо. Используйте функцию CONVERT для запуска этого запроса.
Заранее спасибо.
Ошибка:
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>
В качестве стороннего использования вы должны использовать 'cfqueryparam', чтобы помочь защитить запросы от SQL-инъекций (а также по соображениям производительности). – Leigh