我正在使用TableAdapter查询配置向导。我想从一个表中选择一个数据,然后插入另一个表中,如下所示。
。SELECT a.StudentID FROM [dbo].[Student] AS a WHERE [Email] = @Email;
INSERT INTO [dbo].[Registration] ([StudentID], [UniformOptionID], [Cost])
VALUES (a.StudentID, @Param1, @Param2);
当我在应用程序上召集函数时,错误消息提示:
Error message: The multi-part identifier "a.StudentID" could not be bound
为什么不可能?
INSERT INTO [dbo].[registration]
([studentid],
[uniformoptionid],
[cost])
SELECT a.studentid,
@Param1,
@Param2
FROM [dbo].[student] AS a
WHERE [email] = @Email;
您不能在插入语句中使用a.StudentID
。您可以声明变量,然后使用它。像这样
Declare @studentID int
SELECT @studentID=a.StudentID FROM [dbo].[Student] AS a WHERE [Email] = @Email;
INSERT INTO [dbo].[Registration] ([StudentID], [UniformOptionID], [Cost])
VALUES (@studentID, @Param1, @Param2);
尝试以下:
INSERT INTO [dbo].[Registration] ([StudentID], [UniformOptionID], [Cost])
SELECT a.StudentID, @Param1, @Param2 FROM [dbo].[Student] AS a WHERE [Email] = @Email;
即,您可以使用select
语句将值插入表中。@Param1, @Param2
可以直接在select
语句中提供。