小编ear*_*efl的帖子

在数据可能存在或不存在时连接表

让我先说我没有设计这个数据库; 只是想尝试使用它.

我正在尝试检索一套自行车的故障,其中最重要的决定因素是自行车中的任何部件是否具有特定属性.该属性在parts表中设置.该零件是组件的一部分,该组件引用了更大的组件.组件可以具有分配给它的特定自行车类型; 如果没有,我们假设所有自行车类型都分配给组件.这些部件还可以具有分配给它们的特定自行车,由序列号标识.

所以,我们可以假设:

  1. 故障表中的记录将始终包含序列号,更高的装配和自行车类型.
  2. 零件的装配将始终具有对更高装配的引用
  3. 零件的装配可能会也可能不会引用自行车类型.
  4. 部件可能会也可能不会引用特定的序列号

当搜索存在具有特定属性的零件的故障时,如果零件具有对特定自行车的引用,我们只想找到那些.如果没有,并且零件的装配具有对特定自行车类型的引用,我们只希望找到与引用这些类型的装配相关的故障,并且包含这些部分.否则,我们希望找到与包含零件的较高装配相关的所有故障.

我的问题是,如果我加入序列号,我总是只得到分配序列号的部分,如果我加入自行车类型,我只得到其程序集分配了类型的部分.我不确定我是否正在尝试一些根据数据库设计不切实际的东西,或者我是否正在接近错误的连接.

以下是目前为止的查询.

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)

mysql sql oracle join

15
推荐指数
1
解决办法
1587
查看次数

CFSelenium"无法启动新的浏览器会话"

我在使用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)

coldfusion selenium coldfusion-10

10
推荐指数
1
解决办法
765
查看次数

MagickWand ./configure找不到MagickWand-config

我一直在努力安装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可执行文件.

建议?

unix bash path configure

6
推荐指数
1
解决办法
7252
查看次数

为什么我的jqxhr.responseText变量未定义,当它在xhr对象中设置时?

我在这里有一个真正简单的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)第二个日志显示"未定义".我在这里错过了什么?

coldfusion jquery

5
推荐指数
1
解决办法
1万
查看次数

当查询列是变量时从cfquery获取值

我被困了......不记得如何使这项工作.代码:

<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)

?谢谢.

coldfusion cfquery cfloop

4
推荐指数
1
解决办法
1411
查看次数

尝试使用新数据重新加载/刷新dynatree

我已经看过这个问题了,我已经尝试了给出的解决方案(使用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)并重建它.如果没有其他方法可以使用新数据重建树,我会感到惊讶,这与我使用其他小部件的经历背道而驰.

jquery dynatree

4
推荐指数
2
解决办法
1万
查看次数

php mkdir()权限被拒绝mac

这似乎是一个常见的问题,但我似乎无法找到我正在寻找的确切答案.我正在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)

谢谢你的帮助.

php apache xampp macos mkdir

3
推荐指数
1
解决办法
8281
查看次数

Apache POI XSSF从RGB设置fillForegroundColor

我正在尝试在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)

java coldfusion colors apache-poi coldfusion-10

3
推荐指数
1
解决办法
850
查看次数

在beforeStop()中使用revert导致错误 - 如何修复?

我有一个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)

jquery jquery-ui-sortable nested-sortable

2
推荐指数
1
解决办法
1970
查看次数

未创建Apache POI XSSF标头

在尝试创建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)

coldfusion apache-poi coldfusion-10

2
推荐指数
1
解决办法
725
查看次数