假设我有一些带有数据库的应用程序A. 现在我想添加另一个应用程序B,它应该跟踪应用程序A的数据库更改.应用程序B应该在数据发生变化时进行一些计算.两个应用程序之间没有直接通信.两者都只能看到数据库.
基本问题是:数据库中的某些数据发生了变化.如何触发一些C#代码在这些更改上做一些工作?
为了给出答案的一些刺激,我提到了一些我正在考虑的方法:
什么方法更有利?也许我已经错过了上述方法中的一些主要(dis)优势?也许还有其他一些我没有想到的方法?
编辑1:数据库独立性是...让我们称之为"销售人员"的一个因素.我可以使用SqlDependency或OracleDependency.对于DB2或其他数据库,我可以回退到轮询方法.这只是成本和收益的问题,我想至少考虑一下,以便我可以讨论它.
如果您要生成一个字符串页面并在最后一刻通过Response.Write输出所有内容,您应该在哪里放置此代码?
我需要能够动态地将一堆JavaScript写入客户端以使用一些新的Google可视化jsapi.我注意到MVC框架的最后一个版本"阻止了"视图上的CodeBehinds.这是真正的演示代码.它应该去哪里?什么是这里的首选方法...我从来不是"SingleFile"的粉丝.
我有一个标准的ASP.NET MVC(RC Refresh)Web项目,带有标准的ASP.NET成员资格提供程序和项目模板中包含的Account控制器.
当我在登录表单中选中"记住我"时,我仍然没有被网站记住.(Firefox记得我的用户名和密码,但我预计会发生的事情是自动登录).
我是否必须手动设置和检查cookie?如果是这样,应该如何做到最好?
我有:
class Car {..}
class Other{
List<T> GetAll(){..}
}
Run Code Online (Sandbox Code Playgroud)
我想要做:
Type t = typeof(Car);
List<t> Cars = GetAll<t>();
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我想从运行时使用反射发现的类型的数据库中返回一个泛型集合.
我已经在列表上工作了一段时间,这有助于我分享编程方法和想法的原因以及如何做某事.
为此,我想建立一个包含以下内容的列表:
这有助于程序员以最有效的方式分析,思考,接近,解决和实施.
我在Stack Overflow的整个问题中看到过几十个非常有价值的评论,但是找不到我们将它们放在一起的地方.Stack Overflow上有最有争议的观点.但是,我只是在寻找可以分享并帮助我的团队的圣人见解,并通过更好的编程来更好地解决问题.
希望这可以是一个收集一两个简洁,深刻且易于分享,重复,审查的衬垫的地方.如果我们按照每个答案保留一个规则,那么最简单的投票可能是最容易的.
我将从第一个开始.
干 - 不要重复自己 - 在代码,评论或文档中.
我有一个数据表有一个日期列,但我很难过如何按该列对它进行排序.有什么建议?
我正在尝试将所有部分放在一起用于我的MVVM Silverlight应用程序,我看到一些博客涉及服务定位器.
什么是服务定位器以及何时应该使用它?
所以我使用Windows Installer安装了Ruby On Rails.
现在,启动指南说我必须启动一个终端并运行Rails命令来创建一个项目.我没有终端,那么如何执行Rails命令并创建项目?
Windows中的CMD命令行无法识别"rails"
我不认为这是一个PATH问题,因为当我在"Bin"目录中时,有"rails.bat"和"rails"没有扩展名.如果我运行Rails.bat,我会得到"文件名,目录名或卷标语法不正确."
我得到的消息与我传递给它的任何争论.
使用起来更好吗?
$.get("http://www.example.com/mydirectory", function(data) {
$(".someclass").html(data);
});
Run Code Online (Sandbox Code Playgroud)
要么
$('.tripPlannerBottom').load("http://www.example.com/mydirectory");
Run Code Online (Sandbox Code Playgroud)
任何速度或性能优势?
解决
来自开发人员:问题是以前版本的代码仍在写入使用手动ID而不是自动增量的表.自我注意:始终检查写入表的其他可能位置.
我们在表格中获得了重复的密钥.它们不是同时插入的(相隔6小时).
表结构:
CREATE TABLE `table_1` (
`sales_id` int(10) unsigned NOT NULL auto_increment,
`sales_revisions_id` int(10) unsigned NOT NULL default '0',
`sales_name` varchar(50) default NULL,
`recycle_id` int(10) unsigned default NULL,
PRIMARY KEY (`sales_id`),
KEY `sales_revisions_id` (`sales_revisions_id`),
KEY `sales_id` (`sales_id`),
KEY `recycle_id` (`recycle_id`)
) ENGINE= MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=26759 ;
Run Code Online (Sandbox Code Playgroud)
插入:
insert into `table_1` ( `sales_name` ) VALUES ( "Blah Blah" )
Run Code Online (Sandbox Code Playgroud)
我们使用PHP5运行MySQL 5.0.20并使用mysql_insert_id()在插入查询后立即检索插入ID.
c# ×3
.net ×2
asp.net-mvc ×2
ado.net ×1
casting ×1
cookies ×1
database ×1
datatable ×1
date ×1
generics ×1
insert ×1
jquery ×1
lastinsertid ×1
membership ×1
mvvm ×1
mysql ×1
odp.net ×1
rules ×1
runtime ×1
silverlight ×1