我正在使用ColdFusion与Microsoft SQL Server 2005,有时我收到此错误:
"[Macromedia] [SQLServer JDBC Driver]对象已关闭."
回溯总会导致一个人们期望的SQL查询,即使是没有JOIN或输入参数的简单SELECT命令或者任何花哨的东西.
到目前为止,我听到的唯一解决方案是重新启动"服务",我只能想象它是指SQL Server服务.我已经尝试重新启动SQL Server和ColdFusion服务,但它仍然会随机发生.
(同样重新启动也不是解决方案.在生产环境中,任意页面都不能随意提供任意错误消息.)
当它发生时,它会持续发生几分钟,然后消失并可能在几秒钟或几分钟内恢复.当我开发应用程序的JavaScript部分时,它开始发生,它应该与ColdFusion代码或SQL命令无关.
到目前为止,我的在线搜索一直没有结果.
任何帮助赞赏.
例如:
用户提交带有a <textarea name="mytext" cols="35" rows="2"></textarea>并ENTER在其中按下的表单.如何用一个<br />?替换CR-LF ?
关于在特定项目中需要相互交谈的CFC实例的正确方法,我有一个"最佳实践"问题.
比方说,您有一个Web应用程序,其中包含许多不同的模块:
这些模块中的每一个都组织得很好,以便与每个模块相关的功能包含在单独的CFC文件中:
每个CFC都包含适用于该特定模块的功能.例如,Users.cfc包含与开启/关闭用户,更新帐户信息等有关的功能......有时,CFC可能需要引用另一个CFC中的功能,例如,如果商店(Store.cfc)需要获取信息来自客户(Users.cfc).但是,我不确定实现这一目标的正确方法.我一直在玩几种方式让我的CFC互相引用:
方法1:在CFC中,例如您将需要的其他CFC:
<!--- Store.cfc --->
<cfcomponent>
<!--- instance all the CFC’s we will need here --->
<cfset usersCFC = CreateObject("component","users") />
<cfset filesCFC = CreateObject("component","files") />
<cffunction name="storeAction">
<cfset var customerInfo = usersCFC.getUser(1) />
Run Code Online (Sandbox Code Playgroud)
这种方法似乎大部分时间都有效,除非一些实例化的CFC也实例化了它们的CFC.例如:如果Users.cfc实例Files.cfc和Files.cfc也是Users.cfc实例.由于某种类型的无限递归问题,我偶尔会遇到可怕的NULL NULL错误.
方法2:在CFC的函数范围内实例化所需的CFC(这似乎可以防止递归问题):
<!--- Store.cfc --->
<cfcomponent>
<cffunction name="storeAction">
<!--- create a struct to keep all this function’s variables --->
<cfset var local = structNew() />
<!--- instance all the CFC’s we will …Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery数据表和ColdFusion.我正在尝试搜索字段,只搜索第一列(ITEM ID),因此当您开始键入ITEM ID时,它只会在表中搜索ITEM ID部分而不是所有列,因为due_date和QTY也会有类似的数字.
jQuery的
var oTable = $('#processing').DataTable( {
$('#ItemID').on( 'keyup', function () {
oTable.search($(this).val()).draw() ;
});
Run Code Online (Sandbox Code Playgroud)
HTML - CF.
<div class="col-xs-8">
<label for="ItemID">ITEM ID</label>
<div class="input-group">
<input type="text" class="form-control" name="ItemID" id="ItemID" maxlength="15"> <span class="input-group-btn">
<button type="button" class="btn btn-default" id="Search">SEARCH</button>
</span>
</div>
</div>
<table id="processing" class="table table-hover">
<thead>
<th><b>ITEM ID</b></th>
<th><b>DUE DATE</b></th>
<th><b>STATUS</b></th>
<th><b>QTY</b></th>
</thead>
<tbody>
<cfoutput query="processTable">
<cfif #Date_Complete# EQ "">
<tr>
<td class="LAlign">#id#</td>
<td>#dateFormat(processTable.Date_Due, 'mm/dd/yyyy')#</td>
<td>PROCESSING</td>
<td>#Item_Count#</td>
</tr>
</cfif>
</cfoutput>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
CFC
<cffunction name="displayTable" access="public" returntype="query"> …Run Code Online (Sandbox Code Playgroud) 我使用ColdFusion作为我的应用程序服务器和SQL Server用于数据库.我有一个列出了许多车辆的选择表单元素:Volvo S60,BMW M6,VW Jetta.
根据用户选择的车辆,我需要我的网页执行数据库查询,以找出他们选择的车辆类型,例如SUV,Coupe,Convertible.根据从数据库返回的"类型",数据库将返回适合该车辆类型的选项列表.我的数据库表可以根据车辆下拉值来做到这一点,这样一切都很好.
现在,我想现在列出该车辆"类型"的可用选项作为一组复选框.这样做应该是循环数据库结果集并为每一行生成一个复选框的简单情况.
我想这样做而不刷新页面.如何从下拉列表中动态获取值,将此值传递给数据库,返回结果然后显示相应的复选框?
不是真正的问题...只是想在某处发布,因为我无法在其他地方找到它.现在我已经拼凑了一个我认为可以分享的工作演示.这在Coldfusion和Railo CFML服务器上同样有效.
问题是,对于CFML开发人员而言,CFFILE不能使用<input type="file" multiple>...传统上如果你想上传3个文件并在后端使用CFFILE,你必须在你的调用页面上包含3个单独的文件输入.
为简单起见,这是我的解决方案.它使用Jquery $ .ajax对CFFILE进行多次调用,并将结果返回给调用页面上的div.我确定有更好的方法来做到这一点,我的代码可能是一个完整的黑客,但下面的例子工作.希望这有助于某人.
multiFileUpload.cfm
<!DOCTYPE html>
<CFPARAM Name="URL.contractID" defualt="">
<head>
<title>Multi File Upload</title>
<script>
$( document ).ready(function() {
$('#submitFrm').on("click", function(e){
e.preventDefault();
//The jquery.each() statement loops through all the files selected by user
$.each($('#multiFile')[0].files, function(i, file) {
var data = new FormData();
data.append('file-0', file);
ajaxUpload(data);
}); //end .each statement
}); //end submitFrm's click function
function ajaxUpload(data){
console.log("ajaxUpload function called");
$.ajax({url: "multiFileUploadAction.cfm",
data: data,
cache: false,
contentType: false, //this is need for this to work …Run Code Online (Sandbox Code Playgroud) 我一直在诊断生成包含大约50,000行的CSV的性能问题,并且我将其缩小为每行使用一次的单个函数.
经过大量的讨论之后,我发现使用该函数会产生开销,而不是直接将逻辑放在循环中 - 我的问题是:为什么?!
有问题的函数非常简单,它接受一个字符串参数并将其传递给包含大约15个选项的switch/case块 - 返回结果字符串.我已经把一堆定时器放到了这个地方,发现这个函数调用需要花费很多时间(不是全部)才能运行0到200毫秒......但是如果我把完全相同的代码内联,它就坐每次迭代时为0.
所有这些都指向了我对对象实例化的理解中的一个基本问题,我很欣赏一些澄清.
我一直认为,如果我在页面顶部实例化一个组件,或者实际上如果我在一个持久范围内实例化它,如应用程序或会话,那么它将被放入内存并随后调用该组件中的函数将快闪电 然而,似乎调用这些函数有一个开销,而我们只谈了几毫秒,当你必须这样做50,000次时,它会很快加起来.
此外,似乎这样做会消耗资源.我对JVM使用内存的方式并不是特别精通,我已经阅读了它并使用了设置等等,但这是一个压倒性的主题 - 特别是对于那些没有Java开发经验的人.似乎在通过内联代码调用方法时,有时ColdFusion服务只会崩溃而请求永远不会结束.其他时候它确实完成了,虽然方式太慢了.这表明只有当服务器具有处理它的资源时才能完成请求 - 因此方法调用本身正在消耗内存......(?)
如果确实调用方法有附加费用,那么我就有一个大问题.将所有这些代码内联移动并不是真的可行(虽然有问题的函数很简单,但我还需要使用其他许多函数)并且这样做违背了我认为的开发人员的一切!
所以,任何帮助将不胜感激.
为了清楚起见,因为我确信有人会要求它,这里是有问题的代码:
编辑:正如所建议的,我已经将代码更改为使用结构查找而不是CFSwitch - 下面是修改后的代码供参考,但是底部的pastebin链接中还有一个测试应用程序.
在init方法中:
<cfset Variables.VehicleCategories = {
'T1' : 'Beetle'
, 'T1C' : 'Beetle Cabrio'
, 'T2' : 'Type 2 Split'
, 'T2B' : 'Type 2 Bay'
, 'T25' : 'Type 25'
, 'Ghia' : 'Karmann Ghia'
, 'T3' : 'Type 3'
, 'G1' : 'MK1 Golf'
, 'G1C' : 'MK1 Golf Cabriolet'
, 'CADDY' : 'MK1 Caddy'
, 'G2' …Run Code Online (Sandbox Code Playgroud) 我们目前正在将Adobe ColdFusion 9用于相当大的应用程序.我们正考虑搬到Railo或Blue Dragon.
我们会遇到什么问题?
我的问题类似于Railo,Open Bluedragon和Adobe Coldfusion之间存在哪些值得注意的差异?,虽然这与实际差异有关,但我更具体地询问过渡/实施的实用性.
我正在使用cfdocument在ColdFusion中创建PDF.我需要制作一个倾斜的标题行的表格,以便它全部适合页面.这是我想要完成的一个例子.
到目前为止,我找到的HTML或CSS示例都没有奏效.现在我想知道这是否是特定于ColdFusion和/或PDF创建的怪癖.我知道这段代码直接来自这里类似问题的答案,但它并没有在我的PDF中创建一个带有斜柱的表.它创造了这个.
//CSS
* {
box-sixing: border-box;
}
.outerDiv {
background: grey;
height: 200px;
width: 100px;
border: 1px solid black;
border-bottom: 0;
border-left: 0;
transform: skew(-30deg) translateX(58%);
}
th:first-child .outerDiv {
border-left: 1px solid black;
position: relative;
}
.innerDiv {
position: absolute;
width: 250px;
height: 85px;
bottom: -34%;
left: 10px;
transform: skew(30deg) rotate(-60deg);
transform-origin: 0 0;
text-align: left;
}
body,
html {
height: 100%;
}
body {
display: flex;
justify-content: center;
}
table {
border-collapse: collapse;
}
td {
border: …Run Code Online (Sandbox Code Playgroud) coldfusion ×10
cfml ×3
jquery ×3
ajax ×2
coldfusion-9 ×2
railo ×2
bluedragon ×1
cfc ×1
cffile ×1
components ×1
css ×1
datatables ×1
html-table ×1
javascript ×1
jvm ×1
newline ×1
openbd ×1
overhead ×1
pdf ×1
performance ×1
sql-server ×1
textarea ×1