C# 这个sql命令代码有什么问题?

C# 这个sql命令代码有什么问题?,c#,sql,C#,Sql,错误是: 附近的语法不正确。它看起来有点笨重,我建议您按以下方式重写它: string str = string.Format("SELECT User1.NAME,User1.PORT,User1.IP,File1.SIZE FROM ((SELECT UID,FID FROM [User_File] WHERE FID= {0}) AS a) ,[User1],[File1] WHERE a.UID= User1.UID AND a.FID=File1.FID", id); SqlCom

错误是:
附近的语法不正确。

它看起来有点笨重,我建议您按以下方式重写它:

string str = string.Format("SELECT User1.NAME,User1.PORT,User1.IP,File1.SIZE FROM ((SELECT UID,FID FROM [User_File] WHERE FID= {0}) AS a) ,[User1],[File1] WHERE  a.UID= User1.UID AND a.FID=File1.FID", id);

SqlCommand GetTableUsers = new SqlCommand(str, MyConnection);

并从SQL Management Studio中检查它是否运行时没有错误。

我们是否必须解码您要执行的操作以及错误是什么?您是否在Management Studio中尝试过此命令?这里出现了什么错误?这似乎与主题无关,因此,请尝试使用“maxics.SE”。在where子句之前。。。关闭此处的父项后,[User1],[File1],只需保留[User1]并从那里开始尝试。@krumia您看到与我不同的版本了吗?选择…总共有2个关闭。一个在FID之后,一个在AS之后,我看到没有,也没有关闭,那么您认为缺少了哪一个?
     SELECT User1.NAME,User1.PORT,User1.IP,File1.SIZE, 
     FROM [User_File],[User1],[File1] 
     WHERE  [User_File].UID= User1.UID AND [User_File].FID=File1.FID and [User_File].FID = {0}