在CF10中,我想使用TestHelper对象中的onMissingMethod函数访问变量Test对象,但是我收到了一个错误.
Test.cfc
component {
public Any function init(){
instance = { x = 1 };
return this;
}
public numeric function getX(){
return instance.x;
}
}
Run Code Online (Sandbox Code Playgroud)
TestHelper.cfc
component {
public Any function init( ){
variables.testObj = new Test();
return this;
}
public any function onMissingMethod( required string missingMethodName, required struct missingMethodArguments ){
var func = variables.testObj[ arguments.missingMethodName ];
return func( argumentCollection = arguments.missingMethodArguments );
}
}
Run Code Online (Sandbox Code Playgroud)
调用对象
obj = new TestHelper();
writeOutput( obj.getX() ); //Element INSTANCE.X is undefined in VARIABLES …Run Code Online (Sandbox Code Playgroud) 我试图使用多插入语法获取我插入的行的生成密钥(或identitycol).
<cfquery>
CREATE TABLE TempPerson
(
PersonID INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
LastName varchar(20),
FirstName varchar(20)
);
</cfquery>
<cfquery result="qrResult">
INSERT INTO TempPerson( lastName, firstName )
VALUES( 'Smith', 'Michael' ), ('Jones','Ricky')
</cfquery>
<cfdump var="#qrResult#">
Run Code Online (Sandbox Code Playgroud)
我在CF10和Railo 4.2中结合SQL Server和MySQL运行了这个.
带有SQL Server的CF10 - 没有返回GeneratedKey.只有recordCount变量
RecordCount = 2
Run Code Online (Sandbox Code Playgroud)
CF10与MySQL - 获取标识列作为列表,但错误的recordCount
GeneratedKey = 1,2
RecordCount = 1
Run Code Online (Sandbox Code Playgroud)
带有SQL Server的Railo 4.2 - 只获取最后一个标识列
GeneratedKey = 2
RecordCount = 2
Run Code Online (Sandbox Code Playgroud)
带有MySQL的Railo 4.2 - 获取标识列作为列表,以及正确的recordCount
GeneratedKey = 1,2
RecordCount = 2
Run Code Online (Sandbox Code Playgroud)
所以看起来4个排列中没有一致性.但我最紧迫的问题是,是否有办法从SQL Server运行CF10生成密钥.在那儿?
在CF10中,如何识别对象是日期字符串还是日期对象?
myDateString = '2015-05-05';
myDateObject = createDate( 2015, 5, 5 );
Run Code Online (Sandbox Code Playgroud)
我尝试过isDate(),isValid('date'),isValid('string').所有这些函数都为两个变量提供相同的答案('YES').但是,lsParseDateTime( myDateObject )抛出一个错误,所以我需要在运行lsParseDateTime函数之前检查对象类型.
PS. parseDateTime( myDateObject )工作得很好,这让我想知道lsParseDateTime是不是应该抛出错误.在Railo 4.2中,lsParseDateTime( myDateObject )工作正常.
我有下表:
SalesDate smalldatetime,
ProductId varchar(20),
QuantitySold tinyint,
Price smallmoney
Run Code Online (Sandbox Code Playgroud)
我想获取每种产品的最后1m,3m,1y总销量。如何在一个查询中做到这一点?到目前为止,我的尝试是运行三个独立的查询,每个时间段运行一个查询,然后使用UNION组合它们。有没有更好的办法?我正在使用MS SQL 2008。
将应用程序范围的DSN值传递给组件的最佳做法是什么?是这样的吗?
component datasource="#application.dsn#"
Run Code Online (Sandbox Code Playgroud)
我一直认为在组件中使用应用程序范围的变量不是一个好习惯.这会更好吗?
component{
function init( dsn, arg1, arg2 ){
this.datasource = arguments.dsn;
}
}
Run Code Online (Sandbox Code Playgroud) 我在管理员中设置了以下映射:
Virtual: /css
Resource: /resource/css/v1/
Run Code Online (Sandbox Code Playgroud)
现在,我该如何解决这个映射,以便链接到我的css文件?如何解决/css映射以便我可以获得<link href="/resource/css/v1/mycss.css">?
我浏览了系统功能列表,但找不到合适的功能.谢谢.