この問題は1時間続きました。私はColdFusion言語を使用しています。私のコードでは、データベースOracleにdatetimeを挿入したいと考えています。このようになります。私のデータベースに私の日時を挿入するColdFusion:日付変数を1つの変数にデータベースに挿入するOracle10
<cfset form.date_print = #dateFormat(Now(),"yyyy-mm-dd") & " " & timeFormat(now(), "HH:mm:ss")#>
と機能::日時形式は次のようになります。私のテーブルで
<cfset qAdd = APPLICATION.qbs.insertData(column:'date_print,usr_id_print,qsd_id,loc_id',formData:'#FORM#',table:"qpl_print_log")>
を、属性date_printの形式はDATE
です。
私は私のデータベースのOracleに日時を挿入するにはボタンをクリックすると、このスナップショットです:
UPDATE
これは、データベース
<cffunction name="insertData" access="public" returntype="struct" output="no">
<cfargument name="column" required="true" type="string" hint="data">
<cfargument name="value" required="false" type="string" hint="data">
<cfargument name="formData" required="false" type="struct" hint="data">
<cfargument name="table" required="true" type="string" hint="table">
<cfargument name="dateType" required="false" type="string">
<cfargument name="sqlNvarcharType" required="false" type="string">
<cfargument name="returnID" required="true" type="boolean" default="true">
<cfargument name="db" required="false" type="string" hint="data" default="#variables.db.db_datasource_ro#">
<cfset var local = {}>
<cfset local.counter = 0>
<cfset local.return = {}>
<cfset local.return.status = "OK">
<cfset local.return.id = 0>
<cfset local.return.cuid = APPLICATION.cuid.getCUID()>
<cfif ListFind(column,"submit")>
<cfset column = ListDeleteAt(column, ListFind(column,"submit")) >
</cfif>
<cftry>
<cfquery name="local.insertData" datasource="#db#" result="myresult">
INSERT INTO #table#(#column#,cuid) VALUES(
<cfif isDefined('Arguments.value') AND Arguments.value NEQ "">
<cfloop from="1" to="#ListLen(Arguments.value,';')#" index="item">
<cfif isDefined('Arguments.dateType') AND ListFind(dateType,item)><cfqueryparam cfsqltype="cf_sql_date" value="#convertDate(trim(listGetAt(value, item,';')))#">
<cfelseif isDefined('Arguments.sqlNvarcharType') AND ListFind(sqlNvarcharType,item)><cfqueryparam cfsqltype="cf_sql_nvarchar" value="#trim(listGetAt(value, item,';'))#">
<cfelse><cfqueryparam cfsqltype="cf_sql_char" value="#trim(listGetAt(value, item,';'))#"></cfif><cfif item LT ListLen(column)>,</cfif>
</cfloop>
<cfelse>
<cfloop list="#column#" index="theField">
<cfset local.counter = local.counter+1>
<cfif isDefined('Arguments.dateType') AND ListFind(dateType,theField)><cfqueryparam cfsqltype="cf_sql_date" value="#convertDate(formData[theField])#">
<cfelseif isDefined('Arguments.sqlNvarcharType') AND ListFind(sqlNvarcharType,theField)><cfqueryparam cfsqltype="cf_sql_nvarchar" value="#trim(formData[theField])#">
<cfelse><cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(formData[theField])#"></cfif><cfif local.counter LT ListLen(column)>,</cfif>
</cfloop>
</cfif>
,'#local.return.cuid#')
</cfquery>
<cfif Arguments.returnID EQ true>
<cfquery name="qetAutoIncrementID" datasource="#db#">
SELECT id
FROM #table#
WHERE cuid = '#local.return.cuid#'
</cfquery>
<cfset local.return.id = qetAutoIncrementID.id>
</cfif>
<cfcatch>
<cfset local.return.status = "BAD">
<cfset local.return.cfcatch = cfcatch>
<cfset APPLICATION.db.notifyError(functionname:"Insert:#table#", args:ARGUMENTS, cfcatch:cfcatch)>
</cfcatch>
</cftry>
<cfreturn local.return>
</cffunction>
にデータを挿入する機能です
私のテーブルでは、属性date_printはdate format
を表示しますまあ。
しかし、ColdFusionで、私はこの2016-05-16 14:12:35
のような形式の日付と時刻を送信します。
しかし、自分の時間形式を見たい場合は、鉛筆アイコンをクリックする必要があります。
は、誰もがこの問題を解決するために私を助けることができる願っています。
はあなたがcfsqltype as cf_sql_date
を渡している
私はoracleの経験はありませんが、oracleはDD-MM-YY形式でデータを格納しているようです。ドキュメントをご覧くださいhttps://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#i1847 –
基本的に、私はColdFusionで日付と時刻の形式を読み取ることはできません。私はデータベースに実行中にエラーが発生していると思います。私は本当にこの問題を解決する方法がわかりません。誰もが考えている? –
CFは日付と時刻を読み取ることができますが、データベースにデータを挿入する際に問題があると述べました。データを挿入しているクエリを投稿していない2つ目のことです。 –