小编Eri*_*ikE的帖子

使用公共相关子查询有效地拉出不同的列

我需要从子查询中提取多个列,这也需要WHERE过滤器引用FROM表的列.我有几个问题:

  1. 除了我的下面还有另一个解决这个问题的方法吗?
  2. 是否有其他解决方案甚至是必要的,或者这种解决方

例:

在下面的示例中,我正在编写一个视图来显示测试分数,尤其是发现可能需要解决或重新获得的故障.

我不能简单地使用JOIN,因为我需要首先过滤我的实际子查询(注意我的"考生"得到TOP 1,按分数或日期降序排序)

我的目标是避免重复编写(和执行)基本相同的子查询.

SELECT ExamineeID, LastName, FirstName, Email,
   (SELECT COUNT(examineeTestID)
    FROM exam.ExamineeTest tests
    WHERE E.ExamineeID = ExamineeID AND TestRevisionID = 3 AND TestID = 2) Attempts,
   (SELECT TOP 1 ExamineeTestID
    FROM exam.ExamineeTest T
    WHERE E.ExamineeID = ExamineeID AND TestRevisionID = 3 AND TestID = 2
    ORDER BY Score DESC) bestExamineeTestID,
   (SELECT TOP 1 Score
    FROM exam.ExamineeTest T
    WHERE E.ExamineeID = ExamineeID AND TestRevisionID = 3 AND TestID = 2
    ORDER BY Score DESC) bestScore,
   (SELECT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

3
推荐指数
1
解决办法
3593
查看次数

为什么mysql_real_escape_string不认为这些字符是危险的?

我正在学习如何清理我的表单,并知道使用PHP函数mysql_real_escape_string()可以帮助转义被认为是"危险"或会破坏SQL语法的字符.我正在测试它,并注意到它没有转义字符序列,如--/* */.这些注释不是在SQL中,它们不能破坏语句的语法吗?您如何处理这些以及其他mysql_real_escape_string()未覆盖的物品并真正消毒您的表格?

php sql sanitization

3
推荐指数
1
解决办法
243
查看次数

在SQL数据库上实施"零或一对一"关系?

我有一个Post实体和一个FbPost实体.

Post.FbPost是null或a FbPost,并且没有两个Post实体可以引用同一个FbPost实体.换句话说,zero-or-one to one.

什么是执行此作为适当的方式zero-or-one to one,而不是many to one在SQL Server(理想)?

如果那是不可能的,我该如何在EF级别强制执行此操作?

sql-server entity-framework

3
推荐指数
2
解决办法
3908
查看次数

单元测试-依赖测试

我正在创建一个相互依赖的单元测试列表。例如,我的第一个测试在数据库中创建一条记录,并检查返回值是否大于0。

然后,第二个测试检查在第一个测试中创建的记录的数据。但是,它需要在第一次测试中生成的记录的ID。

最初,我是从第一个测试中调用第二个测试的,因此我可以将ID作为参数传递,它工作正常,只是这意味着实际上只有一个测试。

我创建了一个有序列表,其ID在范围之外声明,但是在第一个单元测试之后,该值返回0,因此显然第二个单元测试失败。

有什么方法可以创建测试,以便它们共享在第一个测试中产生的价值?

代码如下:

[TestMethod]
public void TestNewLandlord_InsertIntoImportFiles_ReturnFileID()
{
    try
    {
        DataSet ds = EngineBllUtility.InsertIntoImportFiles(connString, @"C:\Documents and Settings\dTrunley\My Documents", "HFISNewLandlordTest.csv",
        "TestNewLandlord()", WindowsIdentity.GetCurrent().Name, "HFIS Landlords", "NA", 30247531, false);

        importFileId = long.Parse(ds.Tables[0].Rows[0]["ImportFileID"].ToString());
        Assert.IsTrue(importFileId > 0);
    }
    catch (Exception ex)
    {
        Assert.Fail(ex.Message);
    }
}

[TestMethod]
public void TestNewLandlord_InsertIntoImportFiles_CorrectData()
{
    try
    {
        using (SqlConnection connectionString = new SqlConnection(connString))
        {
            using (SqlCommand sqlCommand = new SqlCommand(
                String.Format("SELECT * FROM [mydeposits].[import].[ImportFiles] WHERE [ImportFileID] = {0}", importFileId), connectionString))
            {
                connectionString.Open();
                using (SqlDataReader dr = sqlCommand.ExecuteReader()) …
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing visual-studio-2008

3
推荐指数
1
解决办法
6359
查看次数

iis7中的Windows身份验证

我正在使用IIS7 Windows 7企业版.我需要设置Windows身份验证,但它在IIS7中不可用.

如何在IIS7中获得Windows身份验证?

asp.net iis-7 windows-authentication

3
推荐指数
1
解决办法
2346
查看次数

对argc,argv及其用法的有趣观察

所以,我正在研究一个基于Linux的命令行实用程序,它必须接受一些标志,我注意到了一些有趣的行为.我将发布我在主实用程序之外使用的测试代码.我正在使用这段代码,所以在我可以插入工作代码之前,我没有必要改变实际的实用程序.所以这是我一直在摆弄的代码:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv) {
    while(--argc && (*++argv)[0] == '-') 
        putchar('*');

    printf("\n%s\n", argv[0]);
 }   
Run Code Online (Sandbox Code Playgroud)

请忽略这样一个事实,即所有这个程序都打印星号,并在使用一个参数-b调用时打印自己的名称.打印星号只是为了表明循环运行一次.所以,我在终端中以"./test -n"运行它,我希望输出为:

*./测试

令我惊讶的是,输出结果如下:

*-b

我有一个关于声明(*++argv)[0]正在做什么的工作理论 ,但我仍然有点朦胧.我的假设是它遍历指针数组,查看指向的每个字符串中的第一个字符,(*++argv)[0]现在*argv[0]是第一个参数字符串的解除引用或元素零.

所以,基本上我有三个问题:

  1. 这句话到底在做什么?
  2. 为什么我不能回到argv [0]或argv [0] [0],无论我尝试什么?
  3. 将值存储在另一个char*中argv [0]指向的地址,这是我此时能够访问该值的唯一方法,这是正常的方法吗?

我现在对此感到很困惑,并尝试了我能想到的一切来解决这个问题.有一次我有一个打印字母表的循环,我不知道程序访问的内存部分.最有趣的排列是从某个地方提取sshid变量.

提前感谢大家的帮助.

c linux pointers argv

3
推荐指数
1
解决办法
443
查看次数

在C#中包含日期名称时,将DateTime字符串识别为有效

当日期字符串附加了星期几时,TryParse失败:

DateTime d;
string dateString = "Tuesday May 1, 2012 9:00 AM";
return DateTime.TryParse(dateString, out d); // returns false
Run Code Online (Sandbox Code Playgroud)

处理此问题的最佳方法是什么,以便我可以安全地确定它是日期,并将其转换为日期?

c# datetime tryparse dayofweek

3
推荐指数
1
解决办法
1002
查看次数

在Windows上安装Pyspatialite

我在ubuntu上使用pyspatialite没有问题 - 它是完美的.但Windows令我头疼.我一直试图解决这个问题至少三天.

我正在使用Visual Studio 2010 express和mingw(gcc)作为编译器.我遇到并解决了很多问题:vcvarsall.bat,iconv.h等,但实际上我并不确切知道我做了什么.我为DLL,.h文件(标题),.a文件(afaik与mingw相关),osgeo4w二进制文件等尝试了几个环境变量.但我无法弄明白.

我在使用MSVC时收到以下错误:'gcc' failed with exit status 1并且在使用MinGW时:命令提示符处的许多警告行与此lex.gml.c, lex.kml.c, lex.geojson.c类似或相似.

我不是开发人员.我只对开源GIS世界感兴趣.有谁知道"如何在Windows上安装pyspatialite"的分步指南?

python mingw visual-c++ spatialite

3
推荐指数
1
解决办法
2581
查看次数

在C#中的方法链中选择两种不同方法之一

请考虑以下代码:

decimal userPrice = product.Status == ProductStatusEnum.Presale
   ? pricingHelper.GetUserPresalePricing(sku, user).UserCustomPrice
   : pricingHelper.GetUserProductPricing(sku, user).UserCustomPrice;
Run Code Online (Sandbox Code Playgroud)

有没有办法放置表达式来确定在方法链中使用哪个方法而不必使用两个完整的方法链?我的想法是使用委托或者使用反射通过名称来调用,但这些都不是我合理的解决方案(特别是通过名字调用).

在这种情况下,我意识到方法链不长(之后只有一个属性),但想象一个具有更长方法链的方案.我喜欢创建大量变量的方法链接,但是,为了清楚起见,在这样的方法使用方面存在差异的长方法链中,我会选择临时存储在变量中而不是重复自己.但它必须是这样吗?

在javascript中,这将非常简单:

var userPrice = pricingHelper[
   product.Status === ProductStatusEnum.Presale
   ? GetUserPresalePricing
   : GetUserProductPricing
](sku, user).UserCustomPrice;
Run Code Online (Sandbox Code Playgroud)

此外,可能将两个方法中的一个放入变量然后使用该变量,如(坏伪代码):

SomeDelegate = product.Status == ProductStatusEnum.Presale
   ? pricingHelper.GetUserPresalePricing
   : pricingHelper.GetUserProductPricing;

decimal userPrice = SomeDelegate(sku, user).UserCustomPrice;
Run Code Online (Sandbox Code Playgroud)

鉴于C#可以完成函数式语言所能完成的大部分工作,必须有一种方法(不是说它必然比上面的起始代码更好,只是想知道).

您对这种结构是否有用或比原始代码更清晰的评论也是受欢迎的.

我想到了另外一个想法,即在pricingHelper课堂上,我可以创建一个GetUserPricing方法,该方法采用指示是否获得预售或产品定价的参数.嗯...

c# delegation

3
推荐指数
1
解决办法
81
查看次数

在实体框架中为单表手动创建模型

一季度。如何为我的数据库中的单列表手动创建一个死简单的实体框架模型,并对其进行查询?

该表如下所示:

CREATE TABLE dbo.MyTable (
    Value int NOT NULL CONSTRAINT PK_MyTable PRIMARY KEY CLUSTERED
);
Run Code Online (Sandbox Code Playgroud)

我有一个 POCO 可以映射到它:

public class MyTable {
    public int Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Q2。然后,如何MyTable使用Expression<Func<MyTable, bool>>lambda 进行查询,该lambda 将决定返回哪些行并将投影到 SQL 中?

我对 EF 比较陌生,但对 C# 或软件开发并不陌生。我问这个问题是因为现在我只想快速证明 LINQPad 中某些东西的概念,而不使用 EF 实体数据模型向导,因此将来很容易编写出这样的代码。

c# entity-framework linqpad

3
推荐指数
1
解决办法
4849
查看次数