让我先说我没有设计这个数据库; 只是想尝试使用它.
我正在尝试检索一套自行车的故障,其中最重要的决定因素是自行车中的任何部件是否具有特定属性.该属性在parts表中设置.该零件是组件的一部分,该组件引用了更大的组件.组件可以具有分配给它的特定自行车类型; 如果没有,我们假设所有自行车类型都分配给组件.这些部件还可以具有分配给它们的特定自行车,由序列号标识.
所以,我们可以假设:
当搜索存在具有特定属性的零件的故障时,如果零件具有对特定自行车的引用,我们只想找到那些.如果没有,并且零件的装配具有对特定自行车类型的引用,我们只希望找到与引用这些类型的装配相关的故障,并且包含这些部分.否则,我们希望找到与包含零件的较高装配相关的所有故障.
我的问题是,如果我加入序列号,我总是只得到分配序列号的部分,如果我加入自行车类型,我只得到其程序集分配了类型的部分.我不确定我是否正在尝试一些根据数据库设计不切实际的东西,或者我是否正在接近错误的连接.
以下是目前为止的查询.
SELECT f_bicycle_type, f_serial_number, f_big_assembly
FROM (
SELECT DISTINCT f.f_bicycle_type, f.f_serial_number, f.f_big_assembly, p_important_attr
from failures f
left outer join (
select distinct bt.bt_bicycle_type, b_serial_number, a_big_assembly, p_important_attr
from (
select distinct b.b_serial_number, a.a_big_assembly, p.p_assembly_id, p.p_important_attr
from parts p
join assemblies a on p.p_assembly_id = a.a_assembly_id
left outer join parts_bicycles b on b.b_part_id = p.p_id
where p.p_important_attr = 'awesome'
) p_join_a_and_b
left outer join assembly_bicycle_types bt on bt.bt_assembly_id = p_join_a_and_b.p_assembly_id
) …Run Code Online (Sandbox Code Playgroud) 我在使用CFSelenium/TestBox时遇到了问题.我正在使用Windows 7 VM,Coldfusion 10开发.我从https://github.com/teamcfadvance/CFSelenium/archive/master.zip下载了一份新的cfselenium副本.
我的文件结构是
wwwroot |
cfselenium |
Selenium-RC |
Selenium-server-standalone-2.46.0.jar
Selenium.cfc
Server.cfc
Testbox |
… various testbox files
MySite |
Tests|
Specs |
… my test files
seleniumtest.cfc
Application.cfc
Index.cfm
Run Code Online (Sandbox Code Playgroud)
MySite/Test/Application.cfc包括testbox /和cfselenium /的映射.
测试套件seleniumtest.cfc扩展了testbox.system.BaseSpec,其beforeAll()和afterAll()函数实例化selenium,启动它并将其拆除:
component extends="testbox.system.BaseSpec" {
function beforeAll( ){
// create Selenium class
selenium = new cfselenium.Selenium();
// Start it up.
selenium.start( "mysite", "*chrome" );
}
// executes after all suites+specs in the run() method
function afterAll(){
selenium.stop();
selenium.stopServer();
}
function run( testResults, testBox ){ …Run Code Online (Sandbox Code Playgroud) 我一直在努力安装ImageMagick并没有成功,而且我已经陷入困境.我已经对MagickWand进行了欺骗和虚拟化,并试图运行./configure并得到错误:
在默认路径中检查MagickWand-config ... configure:错误:找不到配置程序MagickWand-config
我已尝试导出PATH = $ PATH:/ opt/local/bin并导出PATH = $ PATH:/ opt/local/bin /
并且还尝试将路径添加到我的.bash_profile文件中.我还确认在/ opt/local/bin目录中有一个MagickWand-config可执行文件.
建议?
我在这里有一个真正简单的jquery get调用,我想稍后在脚本中使用响应.所以,如果我这样做:
var xhr = $.get('cfc/partsDefinition.cfc',{
method: 'checkValid',
search: 'some search string'
}
);
console.log(xhr);
console.log(xhr.responseText);
Run Code Online (Sandbox Code Playgroud)
我可以看到A)第一个日志显示一个有效的jqxhr对象,responseText属性设置为我期望的...
promise: function (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}
readyState: 4
responseText: "0"
setRequestHeader: function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}
Run Code Online (Sandbox Code Playgroud)
但是B)第二个日志显示"未定义".我在这里错过了什么?
我被困了......不记得如何使这项工作.代码:
<cfquery name = "getsomething>
select a, b, c
from d
where id = '1'
</cfquery>
<cfloop collection="#arguments#" item="argument">
<cfif #StructFind(arguments, argument)# neq #getsomething.argument[0]#><!--- here's the problem --->
do something
</cfif>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
查询返回一条记录; 我需要获取该记录的每列的值.列名是变量(参数).我需要替换什么语法
#getsomething.argument[0]#
Run Code Online (Sandbox Code Playgroud)
?谢谢.
我已经看过这个问题了,我已经尝试了给出的解决方案(使用tree.reload()),但它对我不起作用.我有一个使用initAjax()在doc就绪初始化的树,我正在尝试使用不同的值重新加载树,以更改选择输入.基本上这个:
$(document).ready(function(){
// global variables
var myVal = 'initial value';
// initialize tree
$('#tree').dynatree({
persist: false,
initAjax: {
url: 'getMyStuff.cfc',
data: { myParam: myVal }
},
... more params
)};
// select change handler
$('#mySelect).change(function(){
var tree = $('#tree').dynatree('getTree');
myVal = $(this).find('option:selected').val();
tree.reload();
)};
)};
Run Code Online (Sandbox Code Playgroud)
问题是树继续使用相同的参数重新加载...我可以在控制台的网络选项卡中看到,每次发送的参数都是相同的,即使我已经确认我的目标是正确的元素,并在变化时获得正确的价值.
我试过改变变量的范围,我尝试将dynatree选项放在一个单独的变量中,我试过调用
$('#tree').children().remove();
$('#tree').dynatree(treeoptions);
Run Code Online (Sandbox Code Playgroud)
在change()函数内部,我试过调用tree.initialize()(是的,我知道它是构造函数),我已经尝试过tree.redraw(),我在调用reload之前尝试过单独设置initAjax选项( ),我被卡住了.
有任何想法吗?
在这一点上,我决定唯一要做的就是将树初始化放入一个函数中,当更改select选项时,吹走树(包括其父div)并重建它.如果没有其他方法可以使用新数据重建树,我会感到惊讶,这与我使用其他小部件的经历背道而驰.
这似乎是一个常见的问题,但我似乎无法找到我正在寻找的确切答案.我正在OSX上运行XAMPP,并且在我的网络应用程序中我试图允许管理员创建一个目录(如果新的一年不存在).因此,在htdocs/mywebapp/images下,如果某个目录不存在,比如2012,那么mkdir()并开始将文件上传到该目录.
从mywebapp目录运行ls -l会显示images目录创建为
drwxr-xr-x 18 myusername admin 612 Feb 12 17:32 images
Run Code Online (Sandbox Code Playgroud)
所以我尝试的第一件事就是
sudo chmod 0775 images
Run Code Online (Sandbox Code Playgroud)
这没有帮助.查看httpd.config文件显示用户/组定义为www:www所以我尝试将所有者/组更改为:
sudo chown www:www images
Run Code Online (Sandbox Code Playgroud)
这导致,如预期的那样:
drwxrwxr-x 18 _www _www 612 Feb 12 17:32 images
Run Code Online (Sandbox Code Playgroud)
但是,再一次,我得到了Permission denied错误.所以,我对我的下一步是什么感到茫然.我用来达到这一点的PHP代码在这里:
$directory_self = dirname(__FILE__);
$base_image_path = $directory_self . '/images/'; // outputs "/Applications/XAMPP/xamppfiles/htdocs/mywebapp/images/"
$year = '2012';
$image_path = $base_image_path . $year . '/'; // outputs "/Applications/XAMPP/xamppfiles/htdocs/mywebapp/images/2012/"
if(!file_exists($image_path)){
mkdir($image_path, 0775);
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我正在尝试在XSSF电子表格中设置自定义填充颜色,但到目前为止只能根据java.awt.Color或org.apache.poi.ss.usermodel.IndexedColors中可用的默认颜色添加颜色.这就是我的工作原理:
// setup
var workbook= CreateObject(
"java",
"org.apache.poi.xssf.usermodel.XSSFWorkbook"
).Init();
var sheet = workbook.CreateSheet('test');
var row = sheet.CreateRow( 0 );
// first cell, using IndexedColors
var cell = row.createCell( 0 );
cell.setCellValue('test');
var IC = CreateObject(
"java",
"org.apache.poi.ss.usermodel.IndexedColors"
);
var style = workbook.createCellStyle();
style.setFillPattern(style.SOLID_FOREGROUND);
style.setFillForegroundColor(IC.SKY_BLUE.getIndex());
cell.setCellStyle(style);
// second cell, using java.awt.Color
var cell2 = row.createCell( 1 );
cell2.setCellValue('test two');
var C = CreateObject(
"java",
"java.awt.Color"
);
var XSSFColor = createObject("java", "org.apache.poi.xssf.usermodel.XSSFColor");
var myColor = XSSFColor.init(C.BLUE);
var style2 = workbook.createCellStyle();
style2.setFillPattern(style2.SOLID_FOREGROUND);
style2.setFillForegroundColor(myColor); …Run Code Online (Sandbox Code Playgroud) 我有一个nestedSortable列表,其中我不允许嵌套具有相同名称的项目(可能是id,无论如何).我正在使用beforeStop()方法获取当前元素的名称及其父元素的名称(因为当它嵌套时,它获取表单:)
<ol class="sortable">
<li><div id="1">Item</div>
<ol>
<li>
<div id="2">Item</div>
</li>
</ol>
</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
请注意,我使用div元素作为句柄.我初始化nestedSortable的代码是
$('ol.sortable').nestedSortable({
disableNesting: 'no-nest',
forcePlaceholderSize: true,
handle: 'div',
helper: 'clone',
items: 'li',
maxLevels: 5,
opacity: .6,
placeholder: 'placeholder',
revert: 250,
tabSize: 25,
tolerance: 'pointer',
toleranceElement: '> div',
beforeStop: function(event, ui){ // disallows two elements with the same part number from nesting
var thisName = ui.item[0].firstChild.innerHTML;
var parentName = ui.item[0].parentElement.parentElement.firstChild.innerHTML;
if (thisName == parentName){
$(this).sortable('cancel');
}
}
});
Run Code Online (Sandbox Code Playgroud)
这段代码可以禁止嵌套具有相同名称的项目,如果我控制台记录移动的元素及其祖父母,我可以看到我引用了正确的元素.但是,在调用sortable('cancel')后,我也得到以下控制台错误,这自然会炸掉IE:
未捕获的TypeError:无法调用null的方法'removeChild'
jquery-ui-1.8.12.custom.min.js
Run Code Online (Sandbox Code Playgroud)
d.widget._clear
jquery-ui-1.8.12.custom.min.js:269
Run Code Online (Sandbox Code Playgroud)
$ .widget.$.extend._clear
jquery.ui.nestedSortable.js:305
Run Code Online (Sandbox Code Playgroud)
d.widget._mouseStop
jquery-ui-1.8.12.custom.min.js:237 …Run Code Online (Sandbox Code Playgroud) 在尝试创建xlsx的过程中,我被困在创建标头中。我能够创建包含行和合并单元格的文件,但标题似乎永远无法正常工作。这是我所拥有的:
var WorkBook = CreateObject(
"java",
"org.apache.poi.xssf.usermodel.XSSFWorkbook"
).Init();
var Sheet = WorkBook.CreateSheet(
JavaCast( "string", 'my sheetname' )
);
// create the default header if it doesn't exist
var header = sheet.getHeader(); // have also tried getEvenHeader() and getOddHeader()
header.setText('&LLeft Section');
// have also tried the following:
//header.setLeft('left header');
//header.setCenter('CENTER');
//header.setRight('right header');
// open the file stream
var FileOutputStream = CreateObject(
"java",
"java.io.FileOutputStream"
).Init(
JavaCast( "string", filename )
);
// Write the workbook data to the file stream.
WorkBook.Write(
FileOutputStream
); …Run Code Online (Sandbox Code Playgroud)