当前位置: 代码迷 >> ColdFusion >> 救灾
  详细解决方案

救灾

热度:3334   发布时间:2013-02-26 00:00:00.0
救急

//添加数据
function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false, $silent=0) {
global $_SGLOBAL;

$insertkeysql = $insertvaluesql = $comma = '';
foreach ($insertsqlarr as $insert_key => $insert_value) {
$insertkeysql .= $comma.'`'.$insert_key.'`';
$insertvaluesql .= $comma.'\''.$insert_value.'\'';
$comma = ', ';
}
$method = $replace?'REPLACE':'INSERT';
$_SGLOBAL['db']->query($method.' INTO '.tname($tablename).' ('.$insertkeysql.') VALUES ('.$insertvaluesql.') ', $silent?'SILENT':'');
if($returnid && !$replace) {
return $_SGLOBAL['db']->insert_id();
}
}

这是我用PHP写的一个插入函数,能帮我改成coldfusion么$insertsqlarr是一个数组参数。明天我再加100分
------最佳解决方案--------------------------------------------------------
没经过测试。
<cffunction name="inserttable">
<cfargument name="tablename">
    <cfargument name="insertsqlarr" type="array">
    <cfargument name="returnid" default="0">
    <cfargument name="replace" default="0">
    <cfargument name="silent" default="0">
    
    <cfset var insertkeysql = "">
    <cfset var insertvaluesql = "">
    <cfset var comma = "">
    
    <cfloop from="1" to="#arraylen(insertsqlarr)#" index="l_key">
     <cfset insertkeysql = insertkeysql & comma & '`' & a[l_key][1] & '`'>
        <cfset insertvaluesql = insertvaluesql & comma & "'" & a[l_key][2] & "'">
        <cfset comma = ", ">
    </cfloop>
    <cfset var method = iif(replace eq 1, de("REPLACE"), de("INSERT"))>;
    <cfset var qry_run = "">
    <cfquery name="qry_run" datasource="your data source">
     #method# into #tablename# (#insertkeysql#) values (#preservesinglequotes(insertvaluesql)#)
        <cfif returnid eq 1 and replace eq 0>
        ;
        select max(id) as maxid from #tablename#
        </cfif>
    </cfquery>
    <cfif returnid eq 1 and replace eq 0>
     <cfreturn qry_run.maxid>
    <cfelse>
     <cfreturn "">
    </cfif>
</cffunction>
------其他解决方案--------------------------------------------------------
不是很懂,我帮你问下同事。。。
------其他解决方案--------------------------------------------------------
引用:
不是很懂,我帮你问下同事。。。
  相关解决方案