我在存储过程中执行以下查询时收到以下错误.任何人都可以帮助找到错误?
不允许UPDATE,因为语句更新视图"sup_item",该视图参与连接并具有INSTEAD OF UPDATE触发器.
UPDATE si
SET
name = mc.name,
sup_item_cat_id = mc.res_sup_item_cat_id,
xf_value = mc.xf_value,
ava_start_date = mc.ava_start_date,
ava_end_date = mc.ava_end_date,
status_code = mc.status_code,
last_mod_us_id = CASE WHEN mc.last_mod_us_id = 42 THEN @posting_us_id
ELSE mc.last_mod_us_id END,
last_mod_tsp = CURRENT_tsp
FROM sup_item AS si
JOIN merch_cat_imp_sup_item AS mc
ON mc.sup_id = si.sup_id
AND mc.res_sup_item_id = si.sup_item_id
AND mc.cat_imp_event_id = @cat_imp_event_id
AND mc.accept_flag = 'y'
WHERE si.shi_flag = 'n'
Run Code Online (Sandbox Code Playgroud)
我找到了参考资料:http://msdn.microsoft.com/en-us/library/ms177523.aspx
具有INSTEAD OF UPDATE触发器的视图不能是具有FROM子句的UPDATE的目标.
所以,我必须重写UPDATE语句(它仍然可以在一个过程中)不使用sup_item(这是一个视图),但保留基础表(如果需要).
如果有人知道该怎么办,有人可以重写吗?
我想在C++中用类似FSM的解析器解析一个自行设计的文件格式(这是teach-myself-c++-the-hard-way-by-doing-something-big-and-difficult一种项目:)).我有一个带有换行符的标记化字符串,表示euh ...行的结束.请参阅此处获取输入示例.所有的评论和垃圾都会被过滤掉,所以我有一个像这样的std :: string:
global \n { \n SOURCE_DIRS src \n HEADER_DIRS include \n SOURCES bitwise.c framing.c \n HEADERS ogg/os_types.h ogg/ogg.h \n } \n ...
Run Code Online (Sandbox Code Playgroud)
语法说明:
所以我认为FSM对我的需求/知识来说足够简单/可扩展.据我所知(并希望我的文件设计),我不需要并发状态或任何类似的东西.一些设计/实施问题:
enum或一个抽象class+衍生物吗?第一个可能更适合小语法,但后来可能会变得丑陋,第二个恰恰相反.因为它的简单,我倾向于第一个.enum示例和类示例.编辑:什么这个建议的goto,我认为他们在C++是恶?\n.默认情况下,我首选使用stringvia的方法.因此,当启用某个状态时,我需要简单的方式告诉(相同!)不要忽略换行符.stringstream\nstringstreamenum状态是否足以进行多级解析(范围内的范围{...{...}...}),还是需要hacky实现?upper:读取全局,exe,lib +目标名称......normal:在范围内,可以读取SOURCES ...,创建用户变量......list:将项添加到列表中,直到遇到换行符.每个范围都有一种条件(例如win32:global {gcc:CFLAGS = ...}),需要以完全相同的方式处理eveywhere(即使在list状态,每个项目).
感谢您的任何意见.
假设我有以下宏:
#define xxx(x) printf("%s\n",x);
Run Code Online (Sandbox Code Playgroud)
现在在某些文件中我想使用此宏的"增强"版本而不更改其名称.新版本探索了原始版本的功能,并做了一些更多的工作.
#define xxx(x) do { xxx(x); yyy(x); } while(0)
Run Code Online (Sandbox Code Playgroud)
这当然给了我重新警告但是为什么我在这个范围内没有声明'xxx'?我该如何正确定义?
编辑:根据这个http://gcc.gnu.org/onlinedocs/gcc-3.3.6/cpp/Self_002dReferential-Macros.html它应该是可能的
//缩小基类代码(如果需要未压缩的代码,我将发布它)函数Class(){} Class.prototype.construct = function(){}; Class.extend = function(c){var a = function(){arguments [0]!== Class && this.construct.apply(this,arguments)},d = new this(Class),f = this.prototype; for(var e in c){var b = c [ e]; if(b instanceof Function)b.$ = f; d [e] = b} a.prototype = d; a.extend = this.extend; return a};
// custom event class
var Event = Class.extend({
handlers: [],
// stores the event handler
subscribe: function(handler, thisObj) {
this.handlers.push([handler, thisObj]);
},
// calls the event handlers
fire: function() {
for(i in this.handlers) {
var …Run Code Online (Sandbox Code Playgroud) 我试图(或多或少)唯一地识别系统以用于许可目的.我选择了计算机的板载网络适配器的MAC地址来执行此任务,因为我可以确定运行此软件的每个计算机实际上都有一个,这样可以避免在更换硬盘时重新激活.
但是,我遇到了可靠地识别板载网络适配器的麻烦.
使用"Win32_NetworkAdapterConfiguration"ManagementClass,我可以获得大量的MAC地址,包括我喜欢的地址,但是我没有找到区分板载和Windows或病毒扫描程序安装的虚拟适配器的方法.不过,这份清单似乎是有序的.我感兴趣的MAC地址(在我的机器上)列在其他(真实)网络适配器之前.(该列表按接口索引排序.)
使用NetworkInterface.GetAllNetworkInterfaces(),我想我可以通过过滤来识别真正的网络适配器.NetworkInterfaceType == NetworkInterfaceType.Ethernet,但是这个列表似乎是无序的(添加的网卡出现在板载之前).
首先使用第二种方法获取真实网卡的列表,然后按照第一个列表中的外观顺序对它们进行排序,这是一种可靠的方法来识别我正在寻找的MAC地址?第一个列表中的接口索引可以更改吗?我很乐意听到你的想法!
谢谢!
PS:我知道MAC地址可以很容易地改变,但我可以忍受.在插入WLAN棒后,我无法忍受不能使用该软件的客户=)
在我的项目中,我使用Microsoft的单元测试框架编写测试.当我从Visual Studio运行它们时,我的所有测试都通过了,但是当我从MSBuild运行测试时,所有测试都失败并显示以下erorr消息:
单元测试适配器引发异常:未解析成员 SomeType,SomeAssembly Version = assemblyVersion,Culture = neutral,PublicKeyToken = ..
未找到的程序集是所有项目引用的第三方程序集.
构建脚本由TFS使用,所以我给出了以下几行:
<RunTest>true</RunTest>
<ItemGroup>
<MetaDataFile Include="$(BuildProjectFolderPath)myproject.vsmdi">
<TestList>CI_Tests</TestList>
</MetaDataFile>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
我发现这篇文章显示了这个问题的解决方案,但遗憾的是我无法在TFS服务器上查看文件.
救命!
在iOS 4.0中,Apple重新设计了备份过程.
iTunes用于存储Manifest.plist文件中与备份文件关联的文件名列表,但在iOS 4.0中,它已将此信息移至Manifest.mbdb
您可以通过使用iOS 4.0设备进行备份并查看〜/ Library/Application Support/MobileSync/Backup文件夹(查看具有最新日期的子文件夹)来查看此文件的示例
以下是文本编辑器中文件的截图:
alt text http://supercrazyawesome.com/images/mbdb.png
如何将其解析为Cocoa应用程序,以便我可以为iOS 4.0 更新我的(免费)iPhone Backup Extractor应用程序(http://supercrazyawesome.com)?
我正在开发一个由Core Data支持的应用程序.现在,当我在Context中添加或删除实体时,我正在保存对象上下文.我担心它会影响性能,所以我想延迟保存.事实上,我可以一直延迟它直到应用程序终止.仅在应用程序即将关闭时保存数据是否风险太大?我应该多久调用一次对象上下文的保存?
我想有一个单独的线程处理保存:它将等待信号量.每次应用程序的任何部分调用helper/util方法来保存Core Data时,它都会减少信号量.当它降到零时,"保存线程"将执行一次保存,并将信号量增加到a,比如5,然后再次休眠.
有什么好建议吗?谢谢!