小编Rus*_*ell的帖子

SQL内部联接.ON条件vs WHERE子句

我正忙着使用旧样式语法将查询转换为新的连接语法.我的查询的本质如下:

原始查询

SELECT i.*  
FROM 
  InterestRunDailySum i, 
  InterestRunDetail ird, 
  InterestPayments p
WHERE 
   p.IntrPayCode = 187
   AND i.IntRunCode = p.IntRunCode AND i.ClientCode = p.ClientCode
   AND ird.IntRunCode = p.IntRunCode AND ird.ClientCode = p.ClientCode
Run Code Online (Sandbox Code Playgroud)

新查询

SELECT  i.*
  FROM InterestPayments p
    INNER JOIN InterestRunDailySum i 
      ON (i.IntRunCode = p.IntRunCode AND i.ClientCode = p.ClientCode)
    INNER JOIN InterestRunDetail ird 
      ON (ird.IntRunCode = p.IntRunCode AND ird.IntRunCode = p.IntRunCode)
  WHERE 
    p.IntrPayCode = 187
Run Code Online (Sandbox Code Playgroud)

在此示例中,"原始查询"返回46行,其中"新查询"返回超过800

有人可以向我解释一下这个区别吗?我会假设这些查询是相同的.

sql sql-server

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

使用Active Directory服务帐户从.NET连接到SQL Server

我有用C#编写的Winforms应用程序,它连接到SQL Server数据库.当我连接到SQL Server时,我建立了一个连接字符串,它可以包含SQL Server登录详细信息或使用Windows身份验证,在这种情况下,我省略了用户名和密码并使用

"Integrated Security=SSPI" 
Run Code Online (Sandbox Code Playgroud)

在连接字符串中设置.

现在,用户请求他们可以选择使用Active Directory服务帐户连接到MS SQL Server,而不是网络用户帐户(我假设使用Windows身份验证的连接将通过.

我不熟悉服务帐户或Active Directory,并且想知道是否有人可以指出我正确的方向.有没有办法构建一个连接字符串,允许我的应用程序使用特定的Active Directory服务帐户连接到数据库?

.net c# sql-server connection-string

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

F#中的闭包和随机数

为了好玩,我试图 用F#编写一个简单的Monty Hall问题模拟 .

我创建了一个函数getShow,它返回一个由三个布尔值(代表门)组成的数组,其中一个是随机的(它背后有一辆汽车),另外两个是假的.

let getShow = 
    let doorWithCar = System.Random().Next(3)+1
    [|for door in 1..3 -> door = doorWithCar|]
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试使用yield来调用getShow函数来获取一系列节目时,我不断重复第一个随机节目(我猜是因为闭包在F#中的工作方式).

let shows = 
  seq { for i in 1 .. 10 do yield getShow} // Keeps generating the same show over and over
Run Code Online (Sandbox Code Playgroud)

使用yield调用getShow函数的正确方法是什么,以便它实际调用函数并获取一个新的随机数组?

random f# closures

2
推荐指数
1
解决办法
170
查看次数

元组列表上的模式匹配

我试图创建一个函数来模式匹配一​​个结构,该结构是一个包含值的元组和一个元组的列表

'a * ('b * 'c) list -> 'b list
Run Code Online (Sandbox Code Playgroud)

例如,给出以下内容:

let clubDetails = ("MyClub", [("Secretary", "Jill");("Captain", "Bob");("Email", "Bob@MyClub.com")])
Run Code Online (Sandbox Code Playgroud)

我需要一个函数来返回列表["秘书";"队长";"电子邮件"]

所以我想我可以这样做:

let getClubAttributes ca = 
        match ca with
        | (a, [(b,c)]) -> [b]
        | _ -> []
Run Code Online (Sandbox Code Playgroud)

但在这里

getClubAttributes clubDetails
Run Code Online (Sandbox Code Playgroud)

返回空列表.我觉得我错过了一些非常明显的东西.

谢谢,拉塞尔.

f#

2
推荐指数
1
解决办法
264
查看次数

在.NET可执行文件中编辑SQL

我正在开发为.NET 4框架编译的Winforms应用程序.应用程序使用类型化数据集和加密连接字符串访问SQL Server.

出于好奇,我在二进制编辑器中打开可执行文件,发现我能够以纯文本的形式查看数据集中的SQL查询.我担心这会打开安全问题 - 例如,有人将"select*from mytable"更改为"从mytable中删除".

防止这种情况的最佳方法是什么?关于混淆的普遍共识似乎是"不要打扰",但这肯定是等待发生的安全噩梦?是否有任何人可以推荐的最佳实践或工具?

.net sql

0
推荐指数
1
解决办法
82
查看次数

标签 统计

.net ×2

f# ×2

sql ×2

sql-server ×2

c# ×1

closures ×1

connection-string ×1

random ×1