我正在努力在SQL Server中创建视图,其中的一列必须是来自不同表的逗号分隔值。例如,请考虑以下表格-
CREATE TABLE Persons
(
Id INT NOT NULL PRIMARY KEY,
Name VARCHAR (100)
)
CREATE TABLE Skills
(
Id INT NOT NULL PRIMARY KEY,
Name VARCHAR (100),
)
CREATE TABLE PersonSkillLinks
(
Id INT NOT NULL PRIMARY KEY,
SkillId INT FOREIGN KEY REFERENCES Skills(Id),
PersonId INT FOREIGN KEY REFERENCES Persons(Id),
)
Run Code Online (Sandbox Code Playgroud)
样本数据
INSERT INTO Persons VALUES
(1, 'Peter'),
(2, 'Sam'),
(3, 'Chris')
INSERT INTO Skills VALUES
(1, 'Poetry'),
(2, 'Cooking'),
(3, 'Movies')
INSERT INTO PersonSkillLinks VALUES
(1, 1, …Run Code Online (Sandbox Code Playgroud) 在编写程序时,我遇到了在我的一个函数中找到数字的立方根.
当我使用下面的代码时,我得到了一个不正确的多维数据集根值(1正在打印n = 64).
public static void cubicPairs(double n)
{
double root = (System.Math.Pow(n, (1/3)));
Console.WriteLine(root);
}
Run Code Online (Sandbox Code Playgroud)
现在我把代码稍微改成了这个,
public static void cubicPairs(double n)
{
double root = (System.Math.Pow(n, (1.0/3.0))); //Changed how second parameter is passed
Console.WriteLine(root);
}
Run Code Online (Sandbox Code Playgroud)
我得到root = 3.9999999999999996(调试时),但方法是打印4(这是正确的).
为什么这两个值之间存在差异,如果这与方法的第二个参数有关System.Math.Pow()(即,1.0/3.0这是一个递归值),我应该使用什么来查找多维数据集根以便我得到4(在调试时)而不是3.9999999999999996?
在学习WPF(我是新手)时,我创建了一个简单的Window并输入一个TextBox来输入用户名.我最初在这个TextBox(比如Username)中放了一些Text值.一旦MouseLeftButtonDown被触发,我希望这个文本消失.下面是我的xaml和C#代码 -
<TextBox Name="usernameTextBox" Background="Transparent" PreviewMouseLeftButtonDown="usernameTextBox_PreviewMouseLeftButtonDown" HorizontalAlignment="Left" Height="23" Margin="10,103,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="166" Text="Username" />
Run Code Online (Sandbox Code Playgroud)
C#代码
private void usernameTextBox_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (usernameTextBox.Text.ToLower() == "username")
usernameTextBox.Text = "";
}
Run Code Online (Sandbox Code Playgroud)
然而,这不起作用.经过一番搜索,我遇到了这个问题.并且PreviewMouseLeftButtonDown事件按预期工作.
所以我的问题是,这两个事件有什么区别,我怎么知道何时使用另一个事件以及何时使用另一个事件?
谢谢!