我有以下查询,适用于MySQL:
DELETE `test1`, `test2`, `test3`, `test4` FROM
`test1` LEFT JOIN `test2` ON test2.qid = test1.id
LEFT JOIN test3 ON test3.tid = test2.id
LEFT JOIN test4.qid = test1.id
WHERE test1.id = {0}
Run Code Online (Sandbox Code Playgroud)
但它不适用于MS Access.我试图在LEFT JOIN
它周围添加括号,但它在FROM子句中给出了语法错误.那么这个查询应该怎样才能在MS Access中工作?
我正在运行此查询.在大多数情况下它工作正常,但有一些记录有非数字部分,这会导致问题.我需要能够只选择整数的记录.
select distinct SUBSTRING(PAPROJNUMBER, 1, 5) AS STUDY_NUMBER
FROM dbo.PA01201 AS PA01201_1
where PAPROJNUMBER>'0'
Run Code Online (Sandbox Code Playgroud)
例如,结果列表的一部分如下所示:
68145
68146
68147
7762A
99999
LABOR
Run Code Online (Sandbox Code Playgroud)
除了7762A和LABOR,我想要所有这些.如何修改where子句以有效实现?
我需要在Windows中生成C中的随机GUID.我有:
HCRYPTPROV hCryptProv = 0;
BYTE pbBuffer[16];
int i;
if (!CryptAcquireContextW(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT))
exit(1);
for (i = 0; i < N; i++) {
if (!CryptGenRandom(hCryptProv, 16, pbBuffer))
exit(1);
printf("%X%X%X%X-%X%X-%X%X-%X%X-%X%X%X%X%X%X\n", pbBuffer[0], pbBuffer[1], pbBuffer[2], pbBuffer[3],
pbBuffer[4], pbBuffer[5], pbBuffer[6], pbBuffer[7],
pbBuffer[8], pbBuffer[9], pbBuffer[10], pbBuffer[11],
pbBuffer[12], pbBuffer[13], pbBuffer[14], pbBuffer[15]);
}
Run Code Online (Sandbox Code Playgroud)
但是,这会将任何小于0F的字节打印为单个字符(例如,0000-00-00-00-000000
如果每个字符pbBuffer[j]
都是0
).我需要打印每个字节为两个字符(例如,00000000-0000-0000-0000-000000000000
如果每个字符pbBuffer[j]
都是0
).我怎样才能做到这一点?
在Stefanov的JS Design Patterns一书中,他写道"你使用一个var语句并声明用逗号分隔的多个变量",然后给出一个"single var"模式的例子,如下所示:
function func() {
var a = 1,
b = 2,
sum = a + b,
myobject = {},
i,
j;
Run Code Online (Sandbox Code Playgroud)
斯特凡诺夫还写道:
现在我有一些代码如下,用单个var模式声明相同数量的变量,但做了更多"声明时的实际工作":
var html = '{purchaseQty}<br>FR: {fromLoc}'
,tpl = new Ext.XTemplate(html)
,srcReqLoc = record.get('SRC_REQUEST_LOC').trim()
,srcSupLoc = record.get('SRC_SUP_LOC').trim()
,fromLoc = srcReqLoc ? srcReqLoc : srcSupLoc
,tplCfg = {
purchaseQty: purchaseQty
,fromLoc: fromLoc
};
Run Code Online (Sandbox Code Playgroud)
做太多"宣布时的实际工作"有什么缺点?顺便说一下,我不认为这是Javascript单一var模式的完全重复.我超载了吗?因为我问的是一般的缺点,而不仅仅是我的代码可能出错.
我想我可以看到一般的缺点是无法检查错误,例如在我的例子中我在从record.get预期返回的字符串上调用trim(),但如果返回undefined,则"无法调用方法"在未定义的对象上"(或者它是什么;)将被抛出.任何人都可以想到其他什么吗?
javascript design-patterns declaration variable-assignment variable-declaration
这个问题来自另一个问题,它涉及console.dir
字符串文字的行为.特别是,请参阅我的回答评论.
众所周知,String
JavaScript中的对象有很多方法.这些方法是在String.prototype
对象上定义的.String.prototype.toUpperCase
例如.因此我们可以这样做:
var s = new String("hello"),
s2 = s.toUpperCase(); //toUpperCase is a method on String.prototype
Run Code Online (Sandbox Code Playgroud)
但是,我们也可以这样做:
var s = "hello", //s is a string literal, not an instance of String
s2 = s.toUpperCase();
Run Code Online (Sandbox Code Playgroud)
很明显,当您String.prototype
在字符串文字上调用方法时,JavaScript解释器正在进行某种形式的转换/转换.但是,我在规范中找不到任何对此的引用.
这是有道理的,因为否则你必须明确地将每个字符串文字强制转换为一个String
对象,然后才能使用任何方法,这将非常烦人.
所以我的问题是,这个功能在哪里描述,我是否正确假设文字值暂时转换为实例String
?我是否过度思考并忽略了一些明显的东西?
我必须构建的一些遗留代码,让我感觉全局CSS重置的缺点.
我有旧的foo.css
开头
* {margin:0; padding:0;}
Run Code Online (Sandbox Code Playgroud)
我曾经把它复制到一个不同的文件bar.css
,调整它我的需要(与CSS重置),并使用它只替换foo.css
我正在编写的代码.我这样做并不担心与网站旧版部分的向后兼容性.
现在这非常麻烦:对于全局变化,我必须记住修改这两个文件.所以现在我bar.css
正在扩展foo.css
,从:
@import url("style.css");
Run Code Online (Sandbox Code Playgroud)
问题是现在我还继承了CSS重置.
是否有任何方法(†)将某些元素(标题,列表等)的margin
&padding
属性恢复为默认值 - 重置之前应用的值?
(†)除了手动将每个属性设置回其初始值之外,如CSS规范中所定义.
如何从PHP中读取Stackoverflow API的响应?回复是GZIP-ed.我发现了以下建议:
$url = "http://api.stackoverflow.com/1.1/questions/" . $question_id;
$data = file_get_contents($url);
$data = http_inflate($data);
Run Code Online (Sandbox Code Playgroud)
但该功能http_inflate()
在我正在使用的安装上不可用.
还有其他一些简单的方法来实现它吗?
我试图在MySQL(phpmyadmin)和PHP上运行嵌套查询,两者都导致相同的输出不正确.
注意:由于项目的敏感性,表名已被剪裁
SELECT * FROM `table1` WHERE ID="SELECT `field1` FROM `table2` WHERE ID=1"
Run Code Online (Sandbox Code Playgroud)
这将返回零行,尽管每个查询单独提供有效输出,如下所示
SELECT `field1` FROM `table2` WHERE ID=1
Run Code Online (Sandbox Code Playgroud)
提供所需的输出,当在主查询的第一部分中使用时,此输出还提供了所需的输出.请帮忙.
我有一个.NET MVC3应用程序,该应用程序需要能够打开和关闭远程服务。为此,我通过WindowsIdentity.Impersonate()模拟了一个特定的用户帐户。要测试用户的权限,我可以以用户身份登录并sc.exe \\[server] start [service]
在命令提示符下执行。我还知道模仿命令可以按预期工作,因为该应用程序以匿名方式运行,因此无法在.
没有模仿的情况下控制本地计算机()上的服务,但可以通过模仿来控制本地服务。但是,当我将它们放在一起并尝试启动远程服务而不是本地服务时,总是出现错误“无法[service]
在计算机' [server]
' 上打开服务”
有没有人遇到过类似的问题?我一直以为它是服务器配置而不是.NET问题,直到我意识到sc.exe可以正常工作。这是我正在使用的类的缩写版本:
public class Service
{
public string Name;
public bool Running;
private ServiceController serviceController;
public Service(string name, string host)
{
Name = name;
serviceController = new ServiceController(Name, host);
Running = serviceController.Status == ServiceControllerStatus.Running;
}
public bool StartService()
{
ServiceControllerPermission scp = new ServiceControllerPermission(ServiceControllerPermissionAccess.Control, serviceController.MachineName, Name);
scp.Assert();
serviceController.Start();
serviceController.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 5));
serviceController.Refresh();
Running = serviceController.Status == ServiceControllerStatus.Running;
return Running;
}
} …
Run Code Online (Sandbox Code Playgroud) 我想循环下拉列表并在标签中写入所选项的值.我之前已经选择了单选按钮,但是使用下拉列表它将无法正常工作.现在,一些代码.
这里生成的HTML代码值不是很有趣.
<select id="alternativeNumbers" name="alternativeNumbers">
<option value="1_A">Text</option>
<option value="2_B">Text</option>
<option value="3_C">Text</option>
<option value="4_D">Text</option>
<option value="5_E">Text</option>
<option value="6_F">Text</option>
</select>
Run Code Online (Sandbox Code Playgroud)
用于将事件绑定到下拉列表的代码.
$(function () {
var dropdown = document.getElementsByName("alternativeNumbers");
$(dropdown ).change(function () {
updateAlternativeDropdown();
});
});
Run Code Online (Sandbox Code Playgroud)
最后是事件调用的方法.这应该填写标签.
function updateAlternativeDropdown() {
var dropdown = document.getElementsByName("alternativeNumbers");
var lengthDropDown = addAlternativeArticleNumberDropdown.length;
for (var i=0; i < lengthDropDown; i++)
{
//This alert is for the behavior of the output!
alert(addAlternativeArticleNumberDropdown[i].value);
if (addAlternativeArticleNumberDropdown[i].selected) {
var valueOfDropdown = addAlternativeArticleNumberDropdown[i].value;
var splittedValues = valueOfDropdown.split("_");
document.getElementById("label1").innerText = splittedValues[0];
document.getElementById("label2").innerText = splittedValues[1]; …
Run Code Online (Sandbox Code Playgroud) javascript ×3
html ×2
php ×2
.net ×1
c ×1
css ×1
declaration ×1
gzip ×1
jet ×1
jquery ×1
legacy ×1
ms-access ×1
mysql ×1
printf ×1
sql ×1
sql-delete ×1
sql-server ×1