小编Val*_*Val的帖子

是否有相当于 knex.pluck() 的函数可以返回多列的值?

如何从 Knex / Postgresql 查询返回纯值?,我询问如何从 Knex 查询中获取列值,而不包含包含列名称的 JSON 对象。有人建议我使用pluck(fieldName).

如果我在查询中返回单个列,效果很好。如何以相似的格式返回多列?我正在为每一行寻找类似pluck([fieldName1, fieldname2])or and 的东西,返回pluck(fieldName1, fieldname2)["value1", "value2"]

knex.js

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

jQuery附加文本是不可见的

我正在尝试在textarea上面创建几个按钮来插入一些HTML代码 - 一个非常糟糕的HTML编辑器.我有几个输入元素,和我使用jQuery设置点击处理程序将调用的jQuery的append()或者html()text()功能.

处理程序触发,它显示调试alert(),但我试图追加的文本没有显示在textarea中.当我检查Firebug中的textarea时,我看到我作为textarea的子项附加的文本 - 但它变暗了,就像元素的样式设置为display:none.但Firebug的CSS检查员没有显示任何显示或可见性属性的变化.

当我将click处理程序设置为'append()',然后单击多次时,在Firebug中我看到一遍又一遍地添加文本 - 但每个新块仍然是不可见的.如果我在Firebug中选择"编辑HTML",然后在附加文本旁边键入一些字符,整个文本块 - 由jQuery添加的文本和我在Firebug中添加的内容 - 突然出现.

如果我不使用单击处理程序,但使用内联处理程序调用我的追加函数,也会发生这种情况 onclick="javascript:insert('bold');"

任何人都知道为什么没有显示附加文本?

这是相关的代码:

HTML:

<input type='button' id='bold' value='B' onclick='javascript:insert("bold")' />

<textarea name='PersonalGreeting' id='PersonalGreeting'>default text</textarea>
Run Code Online (Sandbox Code Playgroud)

Javascript:

function insert( cmd )  {
    switch ( cmd )  {
        case 'bold':
            $('#PersonalGreeting').append('<b>bold text here</b>');
            break;  
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery append

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

PowerShell here-字符串中的变量必须在哪里初始化?

我有一个相当复杂的SQL查询,我想在PowerShell脚本中的here-string中使用.在查询中,我想用PowerShell变量替换某些值.我试图准确理解我需要声明和初始化将在here-string中使用的变量.

简化示例:

$SqlQuery = @"
update MyTable 
set foo = $bar
where baz = $quux
"@

...

foreach ($part in $parts) {
    $bar = $part[0]
    $quux = $part[1]

    Run-SqlNonQuery $SqlQuery    #Run-SqlNonQuery is a funct. that executes the query
}
Run Code Online (Sandbox Code Playgroud)

我在顶部声明了here-string,它引用了一些PowerShell变量,$ bar和$ quux,每次循环都会改变.

但是,当我运行脚本时,我遇到了错误.当我运行SQL跟踪时,PS脚本中没有出现PowerShell变量的值.

在像这样的here-string中调用时,PowerShell变量是否被插值?我是否需要将整个here-string 放在变量初始化的循环中?对于这样的事情,正确的结构是什么?

我在Windows 7,.Net 4,VS2010上运行PowerShell.我不清楚这个版本; $Host回报

Name             : PowerConsole
Version          : 1.0.30222.0
Run Code Online (Sandbox Code Playgroud)

但是$PSVersionTable回归

PSVersion             2.0                                                      
PSCompatibleVersions  {1.0, 2.0}
BuildVersion          6.1.7601.17514
Run Code Online (Sandbox Code Playgroud)

powershell heredoc

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

用于比较历史记录表中列中当前值和上一个值的SQL查询

我有一个SQL Server 2008数据库,其中包含用于记录主表中更改的历史记录表.我需要报告'rate'列的当前(最新)值,以及与current不同的最新值.

所以,给出类似的东西:

id   | rate   | uninteresting | updated_on   | version
-----+--------+---------------+--------------+----------
123  | 1.20   | foo           | 2010-10-18   | 1500
456  | 2.10   | bar           | 2010-10-12   | 2123
123  | 1.20   | baz           | 2010-10-10   | 1499
123  | 1.10   | baz           | 2010-10-08   | 1498
456  | 2.00   | bar           | 2010-10-11   | 2122
123  | 1.00   | baz           | 2010-08-01   | 1497
456  | 2.00   | quux          | 2010-10-05   | 2121
456  | 1.95 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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

如何从Knex / Postgresql查询返回纯值?

我正在尝试使用Knex从Postgres DB返回一个简单的标量字符串值。到目前为止,我所做的所有操作都返回一个带有键(列名)和值的JSON对象,因此我必须深入该对象以获取值。如果返回多行,则会得到多个JSON对象,每个对象都重复键。

我可能会返回多个列,在这种情况下,每行至少需要是一个数组。我不是在寻找特殊情况,即指定单个列将返回不包含数组的值-我可以进入数组。我想避免将列名重复列出作为键的JSON对象。

我已经搜索了Knex文档,但看不到如何控制输出。

我的表是具有两个字符串列的简单映射表:

CREATE TABLE public._suite
(
    piv_id character(18) NOT NULL,
    sf_id character(18)  NOT NULL,
    CONSTRAINT _suite_pkey PRIMARY KEY (piv_id)
)
Run Code Online (Sandbox Code Playgroud)

当我使用Knex方法建立查询时

let myId = 'foo', table = '_suite';
return db(table).where('piv_id', myId).first(['sf_id'])
                .then( function(id) { return(id); });
Run Code Online (Sandbox Code Playgroud)

我得到{"sf_id":"a4T8A0000009PsfUAE"}; 我想要的只是"a4T8A0000009PsfUAE"

如果我使用原始查询,例如

return db.raw(`select sf_id from ${table} where piv_id = '${myId}'`);
Run Code Online (Sandbox Code Playgroud)

我得到了描述结果的更大的JSON对象:

{"command":"SELECT","rowCount":1,"oid":null,"rows":[{"sf_id":"a4T8A0000009Q9HUAU"}],"fields":[{"name":"sf_id","tableID":33799,"columnID":2,"dataTypeID":1042,"dataTypeSize":-1,"dataTypeModifier":22,"format":"text"}],"_parsers":[null],"RowCtor":null,"rowAsArray":false}
Run Code Online (Sandbox Code Playgroud)

我要怎么做才能获取价值本身?(同样,如果它在数组中,我也可以-我只是不想要列名。)

postgresql knex.js

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

Recordset过滤器的问题

我在传统的ASP Classic代码中使用ADO Recordset上的过滤器时遇到了问题,而我正在尝试了解我是否不支持我正在尝试做什么,或者我是否只是做错了.

我有一个Items记录集,它们的状态为1(活动)或0(非活动),以及可选的End_Date.在我的管理用户界面中,我有一个控件来显示所有项目或仅显示应该显示给最终用户的项目:Status = 1 AND ( End_Date is null OR End_Date > Date() )

为了实现这个逻辑,我试过:

rs.Filter = "Status = 1 AND ( End_Date = null OR End_Date > #" & Date() & "# )"
Run Code Online (Sandbox Code Playgroud)

但我明白了

ADODB.Recordset (0x800A0BB9)
Unknown runtime error
Run Code Online (Sandbox Code Playgroud)

经过多次愚弄,似乎ADO不喜欢End_Date条件下的分组parens与AND条件相结合.如果我把parens拿出来,这有效:

rs.Filter = "Status = 1 AND End_Date = null OR End_Date > #" & Date() & "#"
Run Code Online (Sandbox Code Playgroud)

但这只是一个意外 - 它看起来像是按顺序评估过滤条件,所以我得到了我想要的结果.如果我将AND更改为OR,则parens工作:

rs.Filter = "Status = 1 OR ( End_Date = null OR End_Date > #" & Date() …
Run Code Online (Sandbox Code Playgroud)

vbscript ado filter recordset asp-classic

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