下面的SQL语句是一些使用嵌套详细信息抛出异常的SQL的一个很好的示例.似乎在语句的catch部分我只能得到外部异常细节Could not create constraint. See previous errors(不是很有用!).我想得到的是内部异常消息:
在表'TABLE2'上引入FOREIGN KEY约束'FK_TWO'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束(您可以通过运行不带try-catch的代码来获取此消息).
在Catch块中,如何在T-SQL中实现?
BEGIN TRY
BEGIN TRAN;
CREATE TABLE TABLE1 (USER_ID INTEGER NOT NULL PRIMARY KEY, USER_NAME
CHAR(50) NOT NULL);
CREATE TABLE TABLE2 (AUTHOR_ID INTEGER NOT NULL PRIMARY KEY, AUTHOR_NAME
CHAR(50) NOT NULL, LASTMODIFIEDBY INTEGER NOT NULL, ADDEDBY INTEGER NOT
NULL);
ALTER TABLE TABLE2 ADD CONSTRAINT FK_ONE FOREIGN KEY (LASTMODIFIEDBY)
REFERENCES TABLE1 (USER_ID) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE TABLE2 ADD CONSTRAINT …Run Code Online (Sandbox Code Playgroud) 这是场景,我需要从多个Web服务服务调用返回的多个域对象中加载视图模型对象.将域模型对象转换为可消化视图模型对象的代码是一些相当复杂的代码.我想到的三个地方是:
要清楚,我不想使用AutoMapper或类似的工具.从最佳实践的角度来看,我想知道这个逻辑应该去哪里,以及为什么.
编辑
所以这就是我到目前为止所做的,这确实给了我"瘦"的控制器逻辑和关注点的分离.我怎么能让它更好呢?
// ** Controller **
public ActionResult Default()
{
var viewModel = MyViewModelBuilder.BuildViewModel(MarketType.Spot);
return View(SpotViewUrl, viewModel);
}
// ** Builder **
// Lives in MVC project under ViewModelBuilders folder
public class MyViewModelBuilder
{
public static ChartsModel BuildViewModel(MarketType rateMarket)
{
var result = new ChartsModel
{
RateMarket = rateMarket,
DateRange = new DateRange()
};
LoadGroupedRateLists(result, rateMarket);
LoadCoorespondingRates(result);
return result;
}
private static void LoadGroupedRateLists(ChartsModel model, RateMarket rateMarket)
{
var rateHistSvc = new RateHistoryService(RatesPrincipal.Current.Session.Token);
var serviceResult …Run Code Online (Sandbox Code Playgroud) 我们有一个SP计时器工作,运行良好一段时间.最近,管理员将另一台服务器加入了服务器场,因此SharePoint决定开始在另一台服务器上运行此计时器作业.问题是服务器上没有安装所有依赖项(即Oracle),因此作业失败.我只是在寻找阻力最小的路径.我的问题是有一种方法可以强制计时器作业在你想要的服务器上运行吗?
[编辑] 如果我可以通过适用于我的代码来完成.我只需要知道API是什么,如果确实存在的话.
我们有一个相当大的ASP.Net站点使用MS商务服务器用c#编写,在32位环境中运行.我看到工作人员经常处理高达980兆字节.我想简要介绍一下这个过程,并确定在代码中可以获得哪些收益以减少此站点的内存占用量.我的问题是什么工具在ASP.Net Web应用程序上做这种事情时效果很好?
我正在寻找可以给我非常具体的反馈的工具,这将有助于清楚地看到代码中需要更改的内容.最好是这个工具可以描述我们的生产环境工作者流程,以便比较更具体的数据集.
[编辑]
到目前为止,似乎共识是它在蚂蚁和JetBrains之间徘徊.有人用过吗?如果是这样哪一个优越,或者每个优点和缺点是什么?
我正在尝试执行以下查询,但收到运行时错误,指出:
"The column is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause."
Run Code Online (Sandbox Code Playgroud)
下面的第二行是因上述错误而失败的行.我不明白为什么这个查询没有执行,因为第二行不需要分组,因为输出只是count(*),任何关于我需要改变以使其工作的线索?
SELECT @lessonPlans = COUNT(*)
, @lessonPlanResources = (SELECT COUNT(*) FROM dbo.LessonPlanResource lpr where lpr.LessonPlanId = a.LessonPlanId )
FROM
(
SELECT DISTINCT lpt.LessonPlanId
FROM dbo.LearningTargetBreakout ltb
JOIN dbo.LessonPlanLearningTarget lpt
on lpt.LearningTargetId = ltb.LearningTargetId
WHERE (CASE
WHEN ltb.LearningTargetId = @learningTargetId and @learningTargetId is not null THEN 1
WHEN ltb.CategoryId = @categoryId and @categoryId is not null THEN …Run Code Online (Sandbox Code Playgroud) 我在这件事上不知所措。我有一个用户界面,用于创建和编辑存储在 SharePoint 文档库中的文档。技巧部分是我需要允许用户更新文档没问题,只是使用SPFile.SaveBinary()对吗?
这肯定会更新文件的内容,但不知何故旧文件名和旧扩展名仍然存在,这是一个问题。删除并重新添加列表项也不是解决方案,因为 url 中引用了该项的 id。
我的问题是如何更新 SPFile 项目的扩展名和文件名元数据?
到目前为止,我使用对象库的所有尝试都失败了,我尝试更新下面的字段都没有成功。似乎必须有一种更简单的方法来做到这一点。
SPFile file = item.File;
file.Item[SPBuiltInFieldId.FileLeafRef] = resolvedFileName;
file.Item[SPBuiltInFieldId.FileRef] = "/File/" + resolvedFileName;
file.Item[SPBuiltInFieldId.BaseName] = System.IO.Path.GetFileNameWithoutExtension(resolvedFileName);
file.Item["Name"] = System.IO.Path.GetFileNameWithoutExtension(resolvedFileName);
file.SaveBinary(conduitFile);
file.Update();
Run Code Online (Sandbox Code Playgroud)
[编辑] - 这是我的工作解决方案。
SPFile file = item.File;
string resolvedFileName = item.ID.ToString() + "-" + conduitFileName;
item["Title"] = resolvedFileName;
file.SaveBinary(conduitFile);
file.MoveTo(item.ParentList.RootFolder.Url + "/" + resolvedFileName, true);
file.Item["Name"] = resolvedFileName;
file.Update();
Run Code Online (Sandbox Code Playgroud) 我在努力实现一些应该是微不足道的事情上遇到了很大的困难.我正在使用全局XAML资源文件中定义的隐式按钮样式.我只想用ColorAnimation 将聚焦按钮的背景颜色更改为红色.我已经尝试了许多不同的组合Storyboard.TargetProperty,Storyboard.TargetName而且没有任何效果.我怎样才能做到这一点?
提前致谢.
<Style TargetType="Button" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid x:Name="grid" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Grid.RenderTransform>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="FocusStates">
<VisualState x:Name="Focused" >
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="(Rectangle.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="Button" From="Green" To="Red" Duration="00:00:01" />
</Storyboard>
</VisualState>
<VisualState x:Name="Unfocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
...
Run Code Online (Sandbox Code Playgroud) 我们有一个在IIS Web-Garden中运行的ASP.Net Web应用程序 - 它被配置为最多分配四个进程.在我们的Web应用程序中,第一个访问该站点的用户会导致加载所有缓存的项目.由于我们在IIS Web-Garden中运行,因此最终需要最多四个用户为四个Web-Garden进程中的每一个构建缓存.这个缓存构建需要30-40秒,我们试图让它更快,但不太可能再改进它.
这是不可接受的,我们的任务是让所有人都能快速访问网站(无需等待缓存初始化).我想使用一种抓取网站来预热缓存的解决方案.问题是Web-Garden功能似乎是一个黑盒子 - 你无法控制IIS是否/何时决定在下一个HTTP请求命中时加载第2,第3或第4个进程.
对我来说,这似乎是一个常见问题,但寻找解决方案却收效甚微.我的问题是,有没有办法通过HTTP标头或其他一些构造给IIS一个提示,你希望它加载或至少路由到进程2,3,4等?
我目前正在研究基于 Hibernate 和 MySQL 的批量导入功能。我的目标是为多个表提供 Upsert 功能。我发现自己编写了很多代码来处理通过键查看行是否存在并分支到正确的方法。我想知道是否有更好的方法,即类似于 SQL-Server SSIS 附带的工具,但用于 Hibernate 和 MySQL。你用什么工具或优雅的解决方案来处理休眠和/或 MySQL 的批量更新?
我正在使用 Spring 研究一些数据访问逻辑,我的问题与事务有关。事务文档http://static.springsource.org/spring/docs/2.5.x/reference/transaction.html显示您可以实现声明式或编程式事务。我选择使用编程方法,以便更好地控制交易内容。
基本模式如下所示:
Product product = new Product();
// load properties
// how do I pass my product object instance to my anonymous method?
transactionTemplate.execute(
new TransactionCallbackWithoutResult()
{
protected void doInTransactionWithoutResult (TransactionStatus status)
{
// transaction update logic here
return;
}});
Run Code Online (Sandbox Code Playgroud)
也许我的处理方式是错误的,但是我的问题是如何将参数传递到内部匿名方法中?我想这样做的原因是这样我可以在开始事务之前构建我的对象图(因为事务应该尽可能短地进行,对吗?)我只希望在事务中运行一小部分逻辑(更新逻辑)。
[编辑]
到目前为止,我唯一的选择似乎是使用常量变量,或者将所有逻辑放在匿名委托中。这似乎是一个非常常见的问题......您如何在自己的代码中处理这样的情况?
asp.net ×2
hibernate ×2
java ×2
asp.net-mvc ×1
bulkinsert ×1
caching ×1
iis ×1
memory ×1
moss ×1
mysql ×1
profiling ×1
sharepoint ×1
spring ×1
sql ×1
sql-server ×1
t-sql ×1
timer-jobs ×1
transactions ×1
transform ×1
try-catch ×1
upsert ×1
viewmodel ×1
web-garden ×1
wss ×1
xaml ×1