我有一个返回行的存储过程:
CREATE PROCEDURE MyProc
AS
BEGIN
SELECT * FROM MyTable
END
Run Code Online (Sandbox Code Playgroud)
我的实际程序有点复杂,这就是为什么有必要使用sproc的原因.
是否可以通过调用此过程来选择输出?
就像是:
SELECT * FROM (EXEC MyProc) AS TEMP
Run Code Online (Sandbox Code Playgroud)
我需要使用SELECT TOP X,ROW_NUMBER和一个附加WHERE子句来分页我的数据,我真的不想将这些值作为参数传递.
我们有一个客户端应用程序在SQL Server 2005上运行一些SQL,如下所示:
BEGIN TRAN;
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
INSERT INTO myTable (myColumns ...) VALUES (myValues ...);
COMMIT TRAN;
Run Code Online (Sandbox Code Playgroud)
它由一个长字符串命令发送.
如果其中一个插入失败,或者命令的任何部分失败,SQL Server是否会回滚事务?如果它没有回滚,我是否必须发送第二个命令才能回滚?
我可以给出关于我正在使用的api和语言的细节,但我认为SQL Server应该对任何语言做出相同的响应.
我们已经使用MonoTouch连接了TestFlight和TestFlight SDK,到目前为止它运行良好.
我们注意到的一件事是崩溃报告更适合Obj-C应用程序.
上传压缩的dSYM文件后,它们看起来像这样:
0 OurApp 0x007a7116 testflight_backtrace + 170
1 OurApp0x007a7c3c TFSignalHandler + 208
2 libsystem_c.dylib 0x34f68538 _sigtramp + 48
3 libsystem_c.dylib 0x34f5df5a pthread_kill + 54
4 libsystem_c.dylib 0x34f56fea abort + 94
5 OurApp 0x007793b3 monoeg_g_logv (goutput.c:137)
6 OurApp 0x0077941f monoeg_g_log (goutput.c:147)
7 OurApp 0x005f1393 get_numerous_trampoline (aot-runtime.c:3447)
8 OurApp 0x005f1b2f mono_aot_get_imt_thunk (aot-runtime.c:3576)
9 OurApp 0x006e2c83 initialize_imt_slot (object.c:1247)
10 OurApp 0x006e321f build_imt_slots (object.c:1371)
11 OurApp 0x006e356f mono_vtable_build_imt_slot (object.c:1439)
12 OurApp 0x005fcf83 mono_convert_imt_slot_to_vtable_slot (mini-trampolines.c:198)
13 OurApp 0x005fd50f common_call_trampoline (mini-trampolines.c:333)
14 OurApp …Run Code Online (Sandbox Code Playgroud) 很多时候,当我编写存储过程等时,我首先使用CURSOR,然后在我的程序中发现一些性能问题.
我读到的每一件事都说CURSORS很糟糕,造成不必要的锁定等等,性能测试证明是一样的.
我的问题是你什么时候使用CURSOR,在什么情况下它们有用或好?
如果没有用,为什么他们会为SQL做出如此差的控制结构/类型?
什么是用于进程间通信的最佳WCF绑定?
我已经在本地网络上使用了WCF,这太棒了,我也想将它用于进程间通信.但是,我不想通过网络公开通信.
我们已经得到一个自定义操作,它运行命令行来工作:
<CustomAction Id="OurAction"
FileKey="OurInstalledExe.exe"
ExeCommand="our command line args"
Execute="deferred"
Return="check" />
Run Code Online (Sandbox Code Playgroud)
问题是,用户在命令运行时会看到控制台弹出窗口.
命令行需要UAC提升,但不应要求任何用户交互.我们还使用安装程序安装文件,自定义操作运行After ="InstallFiles".
我们如何阻止用户看到控制台?
问题:如果用户未登录GameCenter帐户 - GameCenter身份验证视图以纵向模式启动(在ios 5中有一个模式对话框)要求登录.但是如果我在xcode(项目摘要)或supportedInterfaceOrientationsForWindow中禁用纵向模式: (因为我的应用程序应该只在横向模式下运行)我得到:
由于未捕获的异常'UIApplicationInvalidInterfaceOrientation'而终止应用程序,原因:'支持的方向与应用程序没有共同的方向,并且shouldAutorotate返回YES'
如果我为ipad/iphone启用了肖像(和/或注释掉了supportedInterfaceOrientationsForWindow :),它可以正常工作而不会崩溃,但我不希望启用纵向模式.
我有一个TextBlock内部的ScrollViewer,与拉伸到其窗口对准.我需要TextBlock表现如下:
TextBlock保持a MinWidth和滚动条的需要TextWrapping或者TextTrimming应该适当地工作我该如何获得此功能?
我尝试了几种方法,包括绑定到ActualWidth&ActualHeight,但无法使其工作.
这不是那么困难,我错过了什么?
这是一个放在XamlPad中的代码示例(尚未设置MinWidth):
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<TextBlock TextWrapping="Wrap" Text="Some really long text that should probably wordwrap when you resize the window." />
</ScrollViewer>
</Window>
Run Code Online (Sandbox Code Playgroud) 我们需要使用第三方ActiveX控件.
唯一的问题是,我们软件中的图层是业务层,无法访问窗口或表单.它还运行在不是STA的单独线程上(并且应该在任何线程中工作).
我们使用此解决方法使其工作,而不是将UI与业务逻辑分开.
Thread thread = new Thread((ThreadStart)
delegate
{
_myActiveX = new MyActiveXType();
_myActiveX.CreateControl();
//more initialize work
Application.Run();
});
thread.SetApartmentState(ApartmentState.STA);
thread.IsBackground = true;
thread.Start();
Run Code Online (Sandbox Code Playgroud)
然后,只要我们需要引用控件,我们调用_myActiveX.BeginInvoke()或Invoke().
在处理这个类(退出我们的应用程序)时,我们处理控件并中止线程.
我的问题是,这有什么问题吗?有没有更好的方法来处理这个?
在未知的多线程环境中有没有更好的内置方法来使用ActiveX控件?我们试图以包装控件的方式编写我们的类,但是可以在任何线程中工作.
更新:作为一个答案建议,我们真的宁愿使用标准COM对象,而根本不使用控件.我们的问题是我们会在我们调用COM对象的第一个方法或属性上得到错误"(来自HRESULT的异常:0x8000FFFF(E_UNEXPECTED)".这是一个非常一般的错误,我们在使用ActiveX时没有得到这个错误, 有任何想法吗?
更新:我们的ocx是"CX25.ocx",使用tlbimp.exe我们得到CX25Lib.dll.使用aximp.exe,我们得到AxCX25Lib.dll和CX25Lib.dll.在任何一种情况下CX25Lib.dll都不起作用.AxCX25Lib.dll可以使用.
说我有一个简单的数组:
double[] myDoubleArray = new double[] { 0, 1, 2, 3, 4, 5 };
Run Code Online (Sandbox Code Playgroud)
这是性能如何:
double last = myDoubleArray.Last();
Run Code Online (Sandbox Code Playgroud)
这个?
double last = myDoubleArray[myDoubleArray.Length - 1];
Run Code Online (Sandbox Code Playgroud)
即使可以进行上述优化,Last Last()会枚举整个数组吗?
如果我传递了一些其他的IEnumerable(比如一个已经产生的),Last()必须枚举序列.我更喜欢使用Last(),因为代码看起来更干净,但如果它枚举序列我就不会做出牺牲.
c# ×5
.net ×4
sql ×3
sql-server ×3
ios ×2
activex ×1
arrays ×1
cursor ×1
game-center ×1
ienumerable ×1
installer ×1
ios6 ×1
iphone ×1
landscape ×1
linq ×1
orientation ×1
process ×1
scrollviewer ×1
t-sql ×1
testflight ×1
textblock ×1
transactions ×1
wcf ×1
winforms ×1
wix ×1
wpf ×1
xamarin.ios ×1