cmd.CommandText = "select FileName,FileTYPE,FileNum,FileAbstract from FileEnquiry where RecordType=" + sname + " and ProjectID = (select ProjectID from ProjectProfile where PName=" + pname + " collect Chinese_PRC_CI_AI) "; 我观察了一下虽然不太懂“collect Chinese_PRC_CI_AI)”是什么意思,但我想你加了“'”是那么它们应该是char类型的,在sql中编译是没问题的而,你在窗体上写的时候。像"sname"本身就是字符类型了,所以不用加“’”,你可以试一试!应该没问题的