如何在不使用触发器或以任何方式修改数据库结构的情况下监视SQL Server数据库以查找表的更改?我首选的编程环境是.NET和C#.
我希望能够支持任何SQL Server 2000 SP4或更新版本.我的应用程序是另一家公司产品的螺栓式数据可视化.我们的客户群数以千计,因此我不想在每次安装时都要求我们修改第三方供应商的表.
通过"更改表",我的意思是更改表数据,而不是更改表结构.
最终,我希望更改在我的应用程序中触发事件,而不是必须间隔检查更改.
根据我的要求(没有触发器或模式修改,SQL Server 2000和2005),最好的行动方案似乎是BINARY_CHECKSUM在T-SQL中使用该函数.我计划实施的方式是这样的:
每隔X秒运行以下查询:
SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*))
FROM sample_table
WITH (NOLOCK);
Run Code Online (Sandbox Code Playgroud)
并将其与存储值进行比较.如果值已更改,请使用查询逐行遍历表:
SELECT row_id, BINARY_CHECKSUM(*)
FROM sample_table
WITH (NOLOCK);
Run Code Online (Sandbox Code Playgroud)
并将返回的校验和与存储的值进行比较.
给出一个相对简单的CSS:
div {
width: 150px;
}Run Code Online (Sandbox Code Playgroud)
<div>
12333-2333-233-23339392-332332323
</div>Run Code Online (Sandbox Code Playgroud)
怎样让这个字符串撑约束到width的150,并简单地包装上连字符换行?
我正在本地虚拟主机上运行角度应用程序(http://foo.app:8000).它正在使用另一个本地VirtualHost(http://bar.app:8000)发出请求$http.post.
$http.post('http://bar.app:8000/mobile/reply', reply, {withCredentials: true});
Run Code Online (Sandbox Code Playgroud)
在Chrome开发者工具的网络标签中,我当然会看到OPTIONS请求,并且响应中包含标题:
Access-Control-Allow-Origin: http://foo.app:8000
Run Code Online (Sandbox Code Playgroud)
但是,POST请求被取消,并出现以下错误:
请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http://foo.app:8000 "访问.
有没有人经历过这个?该Access-Control-Allow-Origin头非常清楚地包含在OPTIONS请求的响应,所以我不能为我的生命弄清楚为什么POST充当头不见了.
Access-Control-Allow-Credentials也设置为true.
我愚蠢地用一个非常混乱的提交名称将提交推送到GitHub.我该如何改变?
是否git commit --amend还在为工作已经被推承诺?
我试图布置一个有两列的表格式页面.我希望最右边的列停靠在页面右侧,此列应具有不同的背景颜色.右侧的内容几乎总是小于左侧的内容.我希望右侧的div始终足够高,以便到达它下面的行的分隔符.如何使背景颜色填充该空间?
.rightfloat {
color: red;
background-color: #BBBBBB;
float: right;
width: 200px;
}
.left {
font-size: 20pt;
}
.separator {
clear: both;
width: 100%;
border-top: 1px solid black;
}Run Code Online (Sandbox Code Playgroud)
<div class="separator">
<div class="rightfloat">
Some really short content.
</div>
<div class="left">
Some really really really really really really
really really really really big content
</div>
</div>
<div class="separator">
<div class="rightfloat">
Some more short content.
</div>
<div class="left">
Some really really really really really really
really really really really big content
</div>
</div> …Run Code Online (Sandbox Code Playgroud)我试图让一个<input type="text">(以下简称为"文本框")通过设置其填充父容器width来100%.这有效,直到我给文本框填充.然后将其添加到内容宽度并且输入字段溢出.请注意,在Firefox中,这仅在将内容呈现为符合标准时才会发生.在怪癖模式下,另一个盒子模型似乎适用.
这是在所有现代浏览器中重现行为的最小代码.
#x {
background: salmon;
padding: 1em;
}
#y, input {
background: red;
padding: 0 20px;
width: 100%;
}Run Code Online (Sandbox Code Playgroud)
<div id="x">
<div id="y">x</div>
<input type="text"/>
</div>Run Code Online (Sandbox Code Playgroud)
我的问题:如何让文本框适合容器?
注意:对于<div id="y">,这很简单:只需设置即可width: auto.但是,如果我尝试为文本框执行此操作,效果会有所不同,文本框将其默认行计数作为宽度(即使我display: block为文本框设置).
/编辑:大卫的"解决方案"当然会奏效.但是,我不想修改HTML - 我特别不想添加没有语义功能的虚拟元素.这是一个典型的divitis病例,我想不惜一切代价避免.这只能是最后的黑客攻击.
鉴于下面的代码,我如何设置单选按钮的样式,并将所选单选按钮的标签设置为与其他标签不同?
<link href="http://yui.yahooapis.com/2.5.2/build/reset-fonts-grids/reset-fonts-grids.css" rel="stylesheet">
<link href="http://yui.yahooapis.com/2.5.2/build/base/base-min.css" rel="stylesheet">
<div class="input radio">
<fieldset>
<legend>What color is the sky?</legend>
<input type="hidden" name="color" value="" id="SubmitQuestion" />
<input type="radio" name="color" id="SubmitQuestion1" value="1" />
<label for="SubmitQuestion1">A strange radient green.</label>
<input type="radio" name="color" id="SubmitQuestion2" value="2" />
<label for="SubmitQuestion2">A dark gloomy orange</label>
<input type="radio" name="color" id="SubmitQuestion3" value="3" />
<label for="SubmitQuestion3">A perfect glittering blue</label>
</fieldset>
</div>Run Code Online (Sandbox Code Playgroud)
另外,让我说明我使用yui css样式作为基础.如果你不熟悉他们,可以在这里找到:
这里有他们的文档:Yahoo!UI库
@pkaeding:谢谢.我尝试了一些漂浮的东西,只是看起来搞砸了.样式活动单选按钮似乎可以使用一些输入[type = radio]:谷歌搜索上的主动提名,但我没有让它正常工作.所以我想的问题更多:这在今天的所有现代浏览器中是否可行,如果不是,那么最小的JS需要什么?
以下代码在IE中很有用,但在FF或Safari中却不行.我不能为我的生活找出原因.如果您选择"禁用2个单选按钮"选项,则代码应禁用单选按钮.如果选择"启用两个单选按钮"选项,则应启用单选按钮.这两个都有效......
但是,如果您不使用鼠标在2个选项之间移动("启用..."和"禁用..."),则单选按钮似乎未被正确禁用或启用,直到您单击其他任何位置在页面上(不是单选按钮本身).
如果有人有时间/好奇/感觉有帮助,请将下面的代码粘贴到html页面并在浏览器中加载.它在IE中运行良好,但问题表现在FF(我的情况下为3)和Safari,都在Windows XP上.
<html>
<head>
<script language="javascript">
function SetLocationOptions() {
var frmTemp = document.frm;
var selTemp = frmTemp.user;
if(selTemp.selectedIndex >= 0) {
var myOpt = selTemp.options[selTemp.selectedIndex];
if(myOpt.attributes[0].nodeValue == '1') {
frmTemp.transfer_to[0].disabled = true;
frmTemp.transfer_to[1].disabled = true;
frmTemp.transfer_to[2].checked = true;
} else {
frmTemp.transfer_to[0].disabled = false;
frmTemp.transfer_to[1].disabled = false;
}
}
}
</script>
</head>
<body>
<form name="frm" action="coopfunds_transfer_request.asp" method="post">
<select name="user" onchange="javascript: SetLocationOptions()">
<option value="" />Choose One
<option value="58" user_is_tsm="0" />Enable both radio buttons
<option value="157" user_is_tsm="1" />Disable …Run Code Online (Sandbox Code Playgroud) 我在我的控制台中运行gulp我收到此错误:
任务'default'不在你的gulpfile中
我的gulpfile看起来很好:
var gulp = require('gulp'),
LiveServer = require('gulp-live-server'),
browserSync = require('browser-sync');
gulp.task('live-server', function () {
var server = new LiveServer('server/main.js');
server.start();
});
gulp.task('serve', ['live-server'], function () {
browserSync.init(null, {
proxy: "http://localhost:3000",
port: 9001
});
});
Run Code Online (Sandbox Code Playgroud) 我在下面有一个jQuery对话框.我正在使用jQuery UI 1.11.
$("#contactContainer").dialog({
closeOnEscape: false,
modal: true,
dialogClass: 'contactsFooter',
open: function(event, ui) {
$(".ui-dialog-titlebar-close").show();
$('#dialog_footer').remove();
$(".contactsFooter").append('<div class="" id="dialog_footer"><div class="dialog-footer-buttons"><button type="button" id ="close" class="button-style-2" onclick="$(\'#hasChangedForm\').val(\'\');" style="margin-left: 5px;">Cancel</button></div></div>');
},
autoOpen: false,
width: 300,
minHeight: 'auto',
maxHeight: 400,
position: { my: 'top', at: 'top+50' },
close:function() {
$('#contactContainer').dialog("option", "position", { my:"top", at:"top+50", of: window });
$('#contactContainer').html('');
}
});
$("#contactContainer").dialog('open');
Run Code Online (Sandbox Code Playgroud)
这是小提琴.在那个小提琴,
单击任何文本框(表示焦点.在此示例中,它是我们具有值"test here"的那个).
现在滚动对话框,单击对话框的滚动条并向下/向上拖动它,看看发生了什么.它忽略了我们点击的文本框.如果我按Tab键,它会再次将焦点设置到第一个字段.这很奇怪.
如果我使用鼠标滚动,焦点仍然在同一个字段上.这个是正常的.
坦率地说,我不知道为什么会这样.有人可以帮助我在滚动时如何防止对话失去焦点?我希望焦点保留在同一个领域.