在某些SQL方言中,您可以声明(某些内容):
SELECT * FROM SomeTable WHERE (val1,val2) IN
(SELECT val1,val2 FROM SomeOtherTable)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在我使用的TSQL(sql server 2k)中这样做.
我知道(并且现在使用)变通方法,比如使用连接或连接值,但TSQL中是否有一些语法我忽略了这样做?
更新:这是有效的SQL-99语法,这就是为什么我认为连接是一种解决方法,即使它更高效.我的问题可能更好:
在TSQL中是否有这种语法的实现?
UPDATE2:我刚用Mysql测试了这个语法,它在那里工作得很好.
假设我的数据库中有一个简单的DTO对象,并且Id是一个recordId绝对唯一的,那么执行以下操作是个好主意吗?
public class DTO
{
public int Id { get; set; }
public override bool Equals(object obj)
{
return (Id == ((DTO)obj).Id);
}
public override int GetHashCode()
{
return Id;
}
}
Run Code Online (Sandbox Code Playgroud)
我怀疑它的原因是因为我没有在我周围的代码中看到它,而不是代码
int hash = 7;
hash = 89 * hash + pageId.hashCode();
hash = 89 * hash + recordId;
return hash;
Run Code Online (Sandbox Code Playgroud) 我有一个表"用户"..它有一个列"ShowData"
使用linq-sql我如何遍历每个用户并为每个用户将ShowData设置为false.
谢谢
我需要它,但不想重新发明热水.
通过示例问题,语法就像可能的例子:
.net> load myLibrary.dll
myLibrary.dll loaded
.net> Person p "John" "Doo" 32
Instance of myLibrary.Person created (p)
.net> print p.Age
32
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找一个命令行界面来访问程序集的公共方法和属性.(在此示例中,调用了人员的Ctor(字符串,字符串,整数),之后将属性Age打印到控制台.)
虽然我对任何解决方案都很满意,
有任何想法吗?
更新:如果我找不到一个好的解决方案,我会自己编程,有兴趣的人可以通过gmail与我联系,即phelsen at.
我需要一个或多个字段(只是字段的名称),它们构成 Microsoft Access 表的主键,给定一个连接和一个 tableName。
我有与引用完全相同的问题(在这里采取,但没有回答):
我通过StackPanel.Childrens.Add()将控件添加到StackPanel.
但是我所看到的 - 我添加的所有控件都处于相同的位置并相互重叠.它们不在StackPanel内部布局.
甚至StackPanel.UpdateLayout()也没有给我带来什么.
我对我来说是想添加Canvases(是的,我确实需要它们)StackPanel.有任何想法吗?
更新主要问题仍然是示例下的问题,但我想它归结为:
**如果你有一种类型,其中99%的值可以用一种快速,强大的类型表示,而只有1%用非常重的类型表示,(比如int与BigInteger)如何表示?**
一所学校我们学到了很多关于内部表征的知识,但从未在运行时如何改变它.我的意思是:假设你有一个表示小数的类,但是你使用一个整数来表示它是内部的,直到你实际上需要一个比整数更大的值,而只是改变表示...
我之前从未想过这个,当我想到它时,我认为这样做永远不会奏效,因为所有的检查都会杀掉它.但是我只是做了一个测试,因为我对自己的好处太好奇了,并且确实存在更改表示更多perormant的情况:给定这个接口:
interface INumber
{
void add1000();
void SetValue(decimal d);
decimal GetValue();
}
Run Code Online (Sandbox Code Playgroud)
我找到了两种实现的,后者是更强大了很多情况,包括这一次,我组成,以吸引对此事的很多想法我可以(不是代表,它的社区)
1. Representation by only a decimal
public class Number1:INumber
{
private decimal d { get; set; }
public void add1000()
{
d += 1000;
}
public decimal GetValue()
{
return d;
}
public void SetValue(decimal d)
{
this.d = d;
}
}
2. Representation by a decimal and an int
public class Number2:INumber
{
private bool usedecimal;
private int i;
private decimal …Run Code Online (Sandbox Code Playgroud) 我想使用一个有区别的联合来表示文件和目录.然后给定一个目录我想列出其中的所有文件(递归).
但在线 List.iter makeFileList
我明白了:
类型不匹配.期待FileOrDir - >单元,但给出了FileOrDir - >字符串列表.类型'unit'与'string list'类型不匹配
type FileOrDir =
| File of string
| Directory of string * FileOrDir list
let example = Directory("Directory1",[File("file1.txt"); File("file2.txt"); Directory("EmptyDir",[])])
let rec makeFileList fad =
[
match fad with
| File(name) -> yield name
| Directory(name,listOfFiles)
-> listOfFiles |> List.iter makeFileList
]
Run Code Online (Sandbox Code Playgroud)
我会很感激解释和解决方案.
我正在使用来自jquery的UI插件的标签.
这些选项卡动态地为可视化添加类 <ul>和<ul><li>标记.
但是我在一个我只填写网站部分的环境中工作,那是在一个网站内
<div id="content">
块和其他CSS样式应用于它.
由于#content ul li比ul lijquery 更具体,因此第一个优先.
我怎样才能克服这个问题?
更新:我知道!重要的是,这不是这个问题的答案,我希望找到一个解决方案,我不需要改变jquery-ui的CSS.(你会使用在线缓存版本吗?如果你必须级联所有内容,你可以重新定义它!重要的是)
更新2:这绝对不是一个JavaScript问题,请不要这样标记.
我正在阅读Robert Pickering 的F#基础.当我尝试运行本书中的第一个示例(下面)时,我在函数print中遇到运行时错误,"无法解析格式字符串'缺少格式说明符'"
#mytestapp
let message = "Hello
World\r\n\t!"
let dir = @"c:\projects"
let bytes = "bytesbytesbytes"B
let xA = 0xFFy
let xB = 0o7777un
let xC = 0b10010UL
let print x = printfn "A%" x
let main() =
print message;
print dir;
print bytes;
print xA;
print xB;
print xC
main()
Run Code Online (Sandbox Code Playgroud)
输出应该是(根据书中):
"你好\n世界\ r \n\t!"
"c:\ projects"
[| 98uy; 121uy; 116uy; 101uy; 115uy; 98uy; 121uy; 116uy; 101uy; 115uy; 98uy;
121uy; 116uy; 101uy; 115uy |] -1y
4095
18UL …
我正在尝试使用简单的javascript脚本验证表单,但它不起作用,有人能告诉我我的代码有什么问题吗?(对不起我的模糊问题)
JS代码:
<script type="text/javascript">
function validation()
{
var fName=document.forms["teacherReg"]["firstname"].value;
var lName=document.forms["teacherReg"]["lastname"].value;
var uName=document.forms["teacherReg"]["username"].value;
var pWord=document.forms["teacherReg"]["password"].value;
var cPWord=document.forms["teacherReg"]["confirmpassword"].value;
if (fName="" || lName="" || uName="" || pWord="")
{
alert("Not a valid entry");
return false;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
HTML格式:
<form name="teacherReg" action="" method="POST" onsubmit="return validation();">
1. First name:
2. Last name:<br/><input type="text" name="firstname" id="firstname" />
<input type="text" name="lastname" id="lastname" /><br/><br/>
3. Desired Username:
<br/><input type="text" name="username" id="username" /><br/><br/>
4. Desired Password:
5. Confirm Password:<br/><input type="password" name="password" id="password" />
<input …Run Code Online (Sandbox Code Playgroud) 更新:
这个问题不是功课.而且不是很防水......我想讨论一下内部表征.当然:add1000应该加1000.
**请回答这个问题的精神......使这个防水会使这个问题更长,没有任何理由..**你可以击败纯十进制 表示在运行时更改内部表示 更新2:看到
创建一个实现此接口的类型:
interface INumber
{
void add1000();
void SetValue(decimal d);
decimal GetValue();
}
Run Code Online (Sandbox Code Playgroud)
所以我在这个for循环中尽可能快地从0到100亿(十亿美元,直到10e9)迭代:
private static void DoSomeAdding(INumber n)
{
Debug.Assert(n.GetValue()==0);
for (long i=0; i<10000000000; i += 1000)
{
n.add1000();
}
Debug.Assert(n.GetValue() == 10000000000);
}
Run Code Online (Sandbox Code Playgroud)
所以你可以称之为:
DoSomeAdding(new YourNumberClass());
Run Code Online (Sandbox Code Playgroud) c# ×4
.net ×2
f# ×2
canvas ×1
css ×1
forms ×1
hash ×1
html ×1
javascript ×1
jquery ×1
jquery-ui ×1
linq-to-sql ×1
ms-access ×1
primary-key ×1
sql-server ×1
stackpanel ×1
subquery ×1
t-sql ×1
validation ×1
wpf ×1