问题列表 - 第29201页

不允许UPDATE,因为语句更新视图"table_name",它参与连接并具有INSTEAD OF UPDATE触发器

我在存储过程中执行以下查询时收到以下错误.任何人都可以帮助找到错误?

不允许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(这是一个视图),但保留基础表(如果需要).

如果有人知道该怎么办,有人可以重写吗?

sql t-sql sql-server sql-server-2005

5
推荐指数
2
解决办法
5835
查看次数

有限状态机解析器

我想在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)

语法说明:

  • {}是范围,大写单词表示要遵循选项/文件列表.
  • \n仅在选项/文件列表中很重要,表示列表的结尾.

所以我认为FSM对我的需求/知识来说足够简单/可扩展.据我所知(并希望我的文件设计),我不需要并发状态或任何类似的东西.一些设计/实施问题:

  1. 我应该为我的州使用一个enum或一个抽象class+衍生物吗?第一个可能更适合小语法,但后来可能会变得丑陋,第二个恰恰相反.因为它的简单,我倾向于第一个.enum示例类示例.编辑:什么这个建议goto,我认为他们在C++是恶?
  2. 阅读清单时,我不必忽视\n.默认情况下,我首选使用stringvia的方法.因此,当启用某个状态时,我需要简单的方式告诉(相同!)不要忽略换行符.stringstream\nstringstream
  3. 简单enum状态是否足以进行多级解析(范围内的范围{...{...}...}),还是需要hacky实现?
  4. 这是我想到的草案状态:
    • upper:读取全局,exe,lib +目标名称......
    • normal:在范围内,可以读取SOURCES ...,创建用户变量......
    • list:将项添加到列表中,直到遇到换行符.

每个范围都有一种条件(例如win32:global {gcc:CFLAGS = ...}),需要以完全相同的方式处理eveywhere(即使在list状态,每个项目).

感谢您的任何意见.

c++ parsing stream fsm

5
推荐指数
1
解决办法
1万
查看次数

如何使用其先前的定义重新定义宏

假设我有以下宏:

#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它应该是可能的

macros c-preprocessor

8
推荐指数
2
解决办法
8025
查看次数

在阅读记录时我应该使用SQL事务吗?

SQL事务用于插入,更新,但是它应该用于读取记录吗?

c# sql sql-server-2005

8
推荐指数
1
解决办法
4824
查看次数

如何找到方法所属的实例?

//缩小基类代码(如果需要未压缩的代码,我将发布它)函数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)

javascript

5
推荐指数
1
解决办法
123
查看次数

如何可靠地获取计算机的板载网络适配器的MAC地址?

我试图(或多或少)唯一地识别系统以用于许可目的.我选择了计算机的板载网络适配器的MAC地址来执行此任务,因为我可以确定运行此软件的每个计算机实际上都有一个,这样可以避免在更换硬盘时重新激活.

但是,我遇到了可靠地识别板载网络适配器的麻烦.

使用"Win32_NetworkAdapterConfiguration"ManagementClass,我可以获得大量的MAC地址,包括我喜欢的地址,但是我没有找到区分板载和Windows或病毒扫描程序安装的虚拟适配器的方法.不过,这份清单似乎是有序的.我感兴趣的MAC地址(在我的机器上)列在其他(真实)网络适配器之前.(该列表按接口索引排序.)

使用NetworkInterface.GetAllNetworkInterfaces(),我想我可以通过过滤来识别真正的网络适配器.NetworkInterfaceType == NetworkInterfaceType.Ethernet,但是这个列表似乎是无序的(添加的网卡出现在板载之前).

首先使用第二种方法获取真实网卡的列表,然后按照第一个列表中的外观顺序对它们进行排序,这是一种可靠的方法来识别我正在寻找的MAC地址?第一个列表中的接口索引可以更改吗?我很乐意听到你的想法!

谢谢!

PS:我知道MAC地址可以很容易地改变,但我可以忍受.在插入WLAN棒后,我无法忍受不能使用该软件的客户=)

.net c# networking

8
推荐指数
1
解决办法
5311
查看次数

MSTest异常:单元测试适配器抛出异常:成员未解析类型

在我的项目中,我使用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服务器上查看文件.

救命!

msbuild unit-testing mstest

8
推荐指数
2
解决办法
8611
查看次数

如何解析iOS 4.0 iTunes备份中的Manifest.mbdb文件

在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)?

iphone backup extract ios4

82
推荐指数
5
解决办法
12万
查看次数

应用程序图标未显示在控制面板的"添加/删除程序"中

我有一个通过ClickOnce部署的.NET应用程序.应用程序图标在开始菜单,任务栏等上显示正常,但在控制面板的" 添加/删除程序"中没有显示.我需要做些什么来解决这个问题?

.net clickonce icons

4
推荐指数
1
解决办法
3218
查看次数

我应该多久保存一次Core Data?

我正在开发一个由Core Data支持的应用程序.现在,当我在Context中添加或删除实体时,我正在保存对象上下文.我担心它会影响性能,所以我想延迟保存.事实上,我可以一直延迟它直到应用程序终止.仅在应用程序即将关闭时保存数据是否风险太大?我应该多久调用一次对象上下文的保存?

我想有一个单独的线程处理保存:它将等待信号量.每次应用程序的任何部分调用helper/util方法来保存Core Data时,它都会减少信号量.当它降到零时,"保存线程"将执行一次保存,并将信号量增加到a,比如5,然后再次休眠.

有什么好建议吗?谢谢!

iphone core-data

13
推荐指数
1
解决办法
2133
查看次数