从一个 table 中选择行数据,然后使用 TableAdapter 插入另一个 table
Selecting row data from one table, then insert into another table using TableAdapter
我正在使用 TableAdapter 查询配置向导。我想 select 来自一个 table 的数据并插入到另一个 table 中,如下面的语句所示。
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;
试试这个:
INSERT INTO [dbo].[Registration] ([StudentID], [UniformOptionID], [Cost])
SELECT a.StudentID, @Param1, @Param2 FROM [dbo].[Student] AS a WHERE [Email] = @Email;
即,您可以使用 select
语句将值插入 table。 @Param1, @Param2
可以直接在 select
语句中提供。
您不能在 Insert 语句中使用 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);
我正在使用 TableAdapter 查询配置向导。我想 select 来自一个 table 的数据并插入到另一个 table 中,如下面的语句所示。
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;
试试这个:
INSERT INTO [dbo].[Registration] ([StudentID], [UniformOptionID], [Cost])
SELECT a.StudentID, @Param1, @Param2 FROM [dbo].[Student] AS a WHERE [Email] = @Email;
即,您可以使用 select
语句将值插入 table。 @Param1, @Param2
可以直接在 select
语句中提供。
您不能在 Insert 语句中使用 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);