我安装了VS 2012并选择了所有选项来安装我认为是针对MSDN的文档.但是,我不知道它安装在哪里.我想知道是否有人知道默认位置将在何处或如何找到它.
我假设安装的内容类似于下载的Java API,并存储在具有某种导航方法的文件夹中.
我正在尝试在SQL Server 2008中执行一个简单的创建表并收到语法错误.我正在使用Microsoft SQL Server Management Studio>新查询
这是语法:
CREATE TABLE Address
{
AddressID int IDENTITY PRIMARY KEY,
Street varchar(60) NULL,
City varchar(50) NULL,
State varchar(2) NULL,
Zip varchar(10)NULL,
Intersection1 varchar(60) NULL,
Intersection2 varchar(60) NULL
}
Run Code Online (Sandbox Code Playgroud)
并且错误消息:
消息102,级别15,状态1,行2
'{'附近的语法不正确.
根据在线找到的示例,语法似乎是准确的.创建此表的正确语法是什么?
这是一个具体示例的通用问题.
我有一个包含三个字段的表(genreID(PK IDENTITY),流派和subGenre).该表对(genre,subGenre)组合有唯一约束.
我想知道如果表中不存在,我可以如何修改存储过程以插入,否则返回现有类型的genreID(如果它存在的话).
CREATE PROCEDURE spInsertGenre
@genreID int OUTPUT,
@genre varchar(100),
@subGenre varchar(100)= NULL
AS
BEGIN
INSERT INTO Genre
(
genre,
subGenre
)
Values (
@genre,
@subGenre
)
SELECT @genreID = SCOPE_IDENTITY()
END
GO
Run Code Online (Sandbox Code Playgroud) sql stored-procedures insert unique-constraint sql-server-2008-r2
我以前使用过FileSystemWatcher.但是,我希望有人可以解释它实际上是如何在幕后工作的.
我计划在我正在制作的应用程序中使用它,它将监视大约5个驱动器和300,000个文件.
FileSystemWatcher是否实际上对驱动器进行"检查" - 例如,是否会导致驱动器磨损?它也会影响硬盘"睡眠"的能力
这是我不明白它是如何工作的地方 - 如果它像是在计时器等上扫描驱动器......或者它是否在它执行任何操作之前等待来自操作系统的某种类型的通知.
我只是不想实现一些会导致驱动器额外读取并使驱动器无法休眠的东西.
我想我对NOT EXISTS的工作方式有误解,希望能够澄清一下.
这是我正在运行的示例代码(也在SQL Fiddle上)
select sum(col1) col1, sum(col2) col1, sum(col3) col3
from (
select 1 col1, 1 col2, 1 col3
from dual tbl1
)
where not exists(
select 2 col1, 1 col2, 1 col3
from dual tbl2
)
Run Code Online (Sandbox Code Playgroud)
我认为它应该返回:
1, 1, 1
Run Code Online (Sandbox Code Playgroud)
但它没有返回任何东西.
我做这个假设只是因为我虽然不是EXISTS会给我一个第一个查询中第二个查询中不存在的所有行的列表(在本例中为1,1,1)
我正在检查记录是否存在,然后将其插入到表中(并且此方法似乎适用于我已在使用的其他存储过程)但是对于此特定存储过程,即使表为空,也不会插入任何内容, 为什么不?
CREATE PROCEDURE spInsertMovieHasTrailer
@movieID int,
@name varchar(50)
AS
BEGIN
SELECT @name = name, @movieID = movieID
FROM MovieHasTrailer
WHERE name = @name and movieID = @movieID
IF @name IS NULL and @movieID IS NULL
BEGIN
INSERT INTO MovieHasTrailer
(
movieID,
name
)
Values (
@movieID,
@name
)
END
END
Run Code Online (Sandbox Code Playgroud)
执行如下:
execute spInsertMovieHasTrailer 1, 'Test'
Run Code Online (Sandbox Code Playgroud) 所以我正在编写一个程序并使用其他人编写的现有库。他们的库正在调用 TheMovieDatabase.com 并检索有关电影的信息,包括 Youtube 预告片名称,如“sErD7Y00R_8”。
当我调试并查看存储该值的预告片名称字符串变量时,它显示为“sErD7Y00R_8”,但是当它插入我的数据库或打印到控制台时,它似乎附加了一个?(问号)到最后,显示如下:“sErD7Y00R_8?”
这显然给我带来了一些问题。我不明白它为什么这样做以及如何解决它。我只能猜测它是一些非常规文本字符或其他东西,但这只是一个猜测。
这是包装器库的链接: https://github.com/LordMike/TMDbLib/
这是我在包装器库中调用的方法,传入 ID 143049:
TMDbLib.Objects.Movies.Movie tmdbMovie = client.GetMovie(id, MovieMethods.Credits | MovieMethods.Keywords | MovieMethods.Images | MovieMethods.Trailers | MovieMethods.Reviews | MovieMethods.Releases);
Run Code Online (Sandbox Code Playgroud)
这是之后立即打印到控制台的内容:
Console.WriteLine("'" + tmdbMovie.Trailers.Youtube[i].Source + "'");
Run Code Online (Sandbox Code Playgroud)
.Length 属性返回 12,因此它看起来是 1 个字符,它不会在调试器中显示,但会打印为 ? 在控制台中
根据评论,我打印出了 Encoding.GetBytes 详细信息:
Encoding the entire string:
System.Text.UTF7Encoding : 20 38 :73 45 72 44 37 59 30 30 52 2B 41 46 38 2D 38 2B 49 41 34 2D
System.Text.UTF8Encoding : 14 39 :73 45 72 44 37 …Run Code Online (Sandbox Code Playgroud) sql ×4
c# ×2
insert ×1
msdn ×1
not-exists ×1
oracle ×1
oracle11g ×1
sql-server ×1
string ×1
strip ×1
unicode ×1
where-clause ×1
winforms ×1