当@RadioServiceGroup设置为NULL时,我想返回sbi_l_radioservicecodes表中包含大约120条记录的所有记录.但是,当我执行以下过程并将@RadioServiceGroup设置为NULL时,它不返回任何记录.这是存储过程:
CREATE PROCEDURE [dbo].[GetRadioServiceCodes]
@RadioServiceGroup nvarchar(1000) = NULL
AS
BEGIN
IF(@RadioServiceGroup = NULL)
BEGIN
SELECT rsc.RadioService
FROM sbi_l_radioservicecodes rsc
END
ELSE
BEGIN
SELECT rsc.RadioService
FROM sbi_l_radioservicecodes rsc
WHERE rsc.RadioServiceGroup = @RadioServiceGroup
END
END
Run Code Online (Sandbox Code Playgroud) 更新:由于开发机器已移至Vista,我现在自动作为标准用户进行测试.随着XP逐步淘汰,这个问题不再那么相关了.
自Windows 2000徽标要求以来,Microsoft一直要求应用程序作为标准用户运行.像其他人一样,我总是以管理用户的身份运行我的桌面.和每个开发人员一样:我以管理用户身份登录,开发,运行和测试.
现在,随着最终支持标准用户的新推动,我一直在测试我的应用程序,通过以普通用户身份运行它们 - 或者通过RunAs,或者让我的应用程序使用[SaferCreateLevel][1]/ 重新启动自身,[SaferComputeTokenFromLevel][2]如果它检测到它以管理员身份运行.我很快就看到我的一些应用程序在Windows XP下作为标准用户失败的原因(由于我自己的愚蠢).我也看到相同的应用程序如何在Vista下运行良好(感谢它为我修复我的错误的众多垫片).
除此之外:具有讽刺意味的是,作为标准用户,应用程序更有可能在Vista上运行.
问题是您是否测试应用程序的标准用户兼容性?您是否在XP上作为标准用户开发?您是否忽略标准用户访问并希望获得最佳效果?
作为奖励,我尝试让我的应用程序重新启动为有限用户(而不是普通用户).它甚至没有出现--Windows说它无法初始化.因此,我的未来研究领域:使应用程序甚至支持有限的用户.
我特别提到XP上的标准用户而不是Vista,以强制执行Vista与兼容性有关的事实.任何人说他们的应用程序在Vista上失败都必须意识到它在XP上也失败了.
例如:
public class A : A.B
{
public class B { }
}
Run Code Online (Sandbox Code Playgroud)
这会从编译器生成此错误:
涉及'A'和'AB'的循环基类依赖
我总是认为一个嵌套类的行为就像一个普通的类,除了有关访问外部类的私有成员的特殊规则,但我想这两个类之间有一些隐式继承?
让我先说一下,只要它在Windows上运行,我不关心这个解决方案的语言.我的问题是这个.有一个网站的数据经常更新,我希望定期获取以便以后报告.该网站需要JavaScript才能正常工作,因此只使用wget不起作用.在程序中嵌入浏览器或使用独立浏览器定期搜索此数据的屏幕有什么好方法?理想情况下,我想抓住页面上的某些表,但如果需要,可以使用正则表达式.
我一直在使用vim,但在阅读完这个问题之后,想知道linux世界中正在使用什么.
如何将可编辑的DataGridView链接到WinForms项目中的XML文件?
我有一个存储过程,可以创建并打开一些游标.它会在最后关闭它们,但是如果它出现错误,那些游标就会被打开!然后,当尝试创建游标时后续运行失败,因为名称已存在的游标已存在.
有没有办法可以查询哪些游标存在以及它们是否打开所以我可以关闭它们并取消分配它们?我觉得这比盲目地试图关闭并吞下错误更好.
我将选择列表中的列添加到按顺序列表中,但它仍然给出了错误:
如果指定了SELECT DISTINCT,则ORDER BY项必须出现在选择列表中.
这是存储过程:
CREATE PROCEDURE [dbo].[GetRadioServiceCodesINGroup]
@RadioServiceGroup nvarchar(1000) = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT DISTINCT rsc.RadioServiceCodeId,
rsc.RadioServiceCode + ' - ' + rsc.RadioService as RadioService
FROM sbi_l_radioservicecodes rsc
INNER JOIN sbi_l_radioservicecodegroups rscg
ON rsc.radioservicecodeid = rscg.radioservicecodeid
WHERE rscg.radioservicegroupid IN
(select val from dbo.fnParseArray(@RadioServiceGroup,','))
OR @RadioServiceGroup IS NULL
ORDER BY rsc.RadioServiceCode,rsc.RadioServiceCodeId,rsc.RadioService
END
Run Code Online (Sandbox Code Playgroud) 我有一个文本文件,其中包含几个"记录".每条记录都包含一个名称和一组数字作为数据.
我正在尝试构建一个将读取文件的类,仅显示所有记录的名称,然后允许用户选择他/她想要的记录数据.
我第一次浏览文件时,我只读取标题名称,但我可以跟踪标题所在文件中的"位置".我需要随机访问文本文件,以便在用户请求后查找每条记录的开头.
我必须这样做,因为文件太大,无法完全在内存(1GB +)中读取应用程序的其他内存需求.
我已经尝试使用.NET StreamReader类来实现这一点(它提供了非常容易使用的'ReadLine'功能,但是没有办法捕获文件的真实位置(BaseStream属性中的位置因为缓冲类使用).
在.NET中没有简单的方法吗?
我有一个关于我滥用CreateProcess的症状的问题.我正在使用lpcommandline参数来提供我的可执行文件和参数的路径.我的误用是我没有用引号包围exe的路径.
我的问题是,为什么CreateProcess在大多数计算机上运行得很好而不是其他计算机呢?我知道这条路在大多数时间里都有空间,但是90%的XP机器都可以工作.我当然在10%的地方发现了我的问题.但是我想知道它不起作用的机器有什么不同?是否有任何人知道的设置或政策.是的,我将修复报价问题.只是好奇为什么这样的事情不会失败.
所以代码看起来如下所示,szCommandLine参数将如下所示.请注意exe的路径周围没有引号.
"C:\ Program Files\My Company\doit.exe parameter1 parameter2"
CreateProcess(
NULL,
szCommandLine,
NULL,
NULL,
FALSE,
NULL,
NULL,
NULL,
&si,
&pi )
Run Code Online (Sandbox Code Playgroud) c# ×3
sql ×3
sql-server ×3
t-sql ×2
.net ×1
automation ×1
c++ ×1
cursor ×1
datagridview ×1
editor ×1
ide ×1
linux ×1
nested-class ×1
ruby ×1
security ×1
streamreader ×1
text ×1
winapi ×1
windows ×1
winforms ×1
xml ×1