C# INSERT语句中的错误消息

C# INSERT语句中的错误消息,c#,sql,sql-server,tsql,C#,Sql,Sql Server,Tsql,我相信我的INSERT语句有问题。运行代码时,错误消息显示: 线路:5 错误:Sys.WebForms.PageRequestManagerServerErrorException:靠近“,”的语法不正确 我的where子句有什么问题吗 这是我的插入声明: INSERT into AppointmentDetails (SelectedApptDate, SelectedApptStartTime, SelectedApptEnd

我相信我的INSERT语句有问题。运行代码时,错误消息显示:

线路:5 错误:Sys.WebForms.PageRequestManagerServerErrorException:靠近“,”的语法不正确

我的where子句有什么问题吗

这是我的插入声明:

INSERT into AppointmentDetails (SelectedApptDate, SelectedApptStartTime, 
                                SelectedApptEndTime, SelectedWeddingPlanner) 
   SELECT 
       ApptID 
   from 
       Appointment 
   INNER JOIN 
       Appointment ON Appointment.ApptID = AppointmentDetails.ApptID 
   WHERE 
       SelectedApptDate = @SelectedApptDate, 
       SelectedApptStartTime = @SelectedApptStartTime, 
       SelectedApptEndTime = @SelectedApptEndTime, 
       SelectedWeddingPlanner = @SelectedWeddingPlanner
这就是我在C中对它的称呼:

    command.CommandText = "INSERT into AppointmentDetails (SelectedApptDate, SelectedApptStartTime, SelectedApptEndTime, SelectedWeddingPlanner) SELECT ApptID from Appointment INNER JOIN Appointment ON Appointment.ApptID = AppointmentDetails.ApptID WHERE SelectedApptDate = @SelectedApptDate, SelectedApptStartTime = @SelectedApptStartTime, SelectedApptEndTime = @SelectedApptEndTime, SelectedWeddingPlanner = @SelectedWeddingPlanner";

    command.Connection = connection;
    command.Parameters.AddWithValue("@SelectedApptDate", dateSelected);
    command.Parameters.AddWithValue("@SelectedApptStartTime", timeStart);
    command.Parameters.AddWithValue("@SelectedApptEndTime", timeEnd);
    command.Parameters.AddWithValue("@SelectedWeddingPlanner", weddingplanner);
不能将WHERE子句与、,;你是说和

插入 约会详细信息选择约会日期、选择约会开始时间、选择约会结束时间、选择婚礼策划人 从约会内部加入约会中选择ApptID-ON-Appointment.ApptID=AppointmentDetails.ApptID 其中SelectedApptDate=@SelectedApptDate 和SelectedApptStartTime=@SelectedApptStartTime 和SelectedApptEndTime=@SelectedApptEndTime 和SelectedWeddingPlanner=@SelectedWeddingPlanner 您还需要选择四列,而不仅仅是一列。

您不需要将WHERE子句与、,;你是说和

插入 约会详细信息选择约会日期、选择约会开始时间、选择约会结束时间、选择婚礼策划人 从约会内部加入约会中选择ApptID-ON-Appointment.ApptID=AppointmentDetails.ApptID 其中SelectedApptDate=@SelectedApptDate 和SelectedApptStartTime=@SelectedApptStartTime 和SelectedApptEndTime=@SelectedApptEndTime 和SelectedWeddingPlanner=@SelectedWeddingPlanner 您还需要选择四列,而不仅仅是一列。

使用AND而不是,来分隔WHERE子句中的条件。你必须这样写:

INSERT into AppointmentDetails (SelectedApptDate, SelectedApptStartTime,
           SelectedApptEndTime, SelectedWeddingPlanner) 
SELECT ApptID 
from Appointment 
INNER JOIN Appointment ON Appointment.ApptID = AppointmentDetails.ApptID 
WHERE SelectedApptDate = @SelectedApptDate
   AND  SelectedApptStartTime = @SelectedApptStartTime
AND SelectedApptEndTime = @SelectedApptEndTime 
AND  SelectedWeddingPlanner = @SelectedWeddingPlanner";
但是,之后会出现一个新的异常,因为您只选择一列插入这四列:SelectedApptDate、SelectedApptStartTime、SelectedApptEndTime、SelectedWeddingPlanner。您还必须在SELECT语句中指定其他三列。

使用AND而不是,来分隔WHERE子句中的条件。你必须这样写:

INSERT into AppointmentDetails (SelectedApptDate, SelectedApptStartTime,
           SelectedApptEndTime, SelectedWeddingPlanner) 
SELECT ApptID 
from Appointment 
INNER JOIN Appointment ON Appointment.ApptID = AppointmentDetails.ApptID 
WHERE SelectedApptDate = @SelectedApptDate
   AND  SelectedApptStartTime = @SelectedApptStartTime
AND SelectedApptEndTime = @SelectedApptEndTime 
AND  SelectedWeddingPlanner = @SelectedWeddingPlanner";

但是,之后会出现一个新的异常,因为您只选择一列插入这四列:SelectedApptDate、SelectedApptStartTime、SelectedApptEndTime、SelectedWeddingPlanner。您还必须在SELECT语句中指定其他三列。

SELECT语句中只有一列,而INSERT需要四列。模式是什么样子的


您试图将哪些字段从表约会传递到INSERT中,哪些字段应该来自变量?

SELECT语句中只有一列,而INSERT需要四列。模式是什么样子的

您试图将哪些字段从表约会传递到INSERT中,哪些字段应该来自变量?

WHERE子句应该包含and或or

例如:

command.CommandText = "INSERT into AppointmentDetails (SelectedApptDate,   
                                                       SelectedApptStartTime,  
                                                       SelectedApptEndTime,  
                                                       SelectedWeddingPlanner)

SELECT ApptID from Appointment 
INNER JOIN Appointment ON Appointment.ApptID = AppointmentDetails.ApptID
WHERE  SelectedApptDate = @SelectedApptDate 
AND SelectedApptStartTime = @SelectedApptStartTime
AND SelectedApptEndTime = @SelectedApptEndTime
AND SelectedWeddingPlanner = @SelectedWeddingPlanner";
另外,INSERT语句包含4列,但在SELECT语句中只返回1列。

WHERE子句应包含AND或or

例如:

command.CommandText = "INSERT into AppointmentDetails (SelectedApptDate,   
                                                       SelectedApptStartTime,  
                                                       SelectedApptEndTime,  
                                                       SelectedWeddingPlanner)

SELECT ApptID from Appointment 
INNER JOIN Appointment ON Appointment.ApptID = AppointmentDetails.ApptID
WHERE  SelectedApptDate = @SelectedApptDate 
AND SelectedApptStartTime = @SelectedApptStartTime
AND SelectedApptEndTime = @SelectedApptEndTime
AND SelectedWeddingPlanner = @SelectedWeddingPlanner";

另外,INSERT语句包含4列,但在SELECT语句中只返回1列。

INSERT语句有四列,SELECT语句只返回一列。这是你陈述的主要问题。此外,WHERE子句的格式不正确。您应该在条件之间使用AND或or而不是逗号。INSERT语句有四列,SELECT语句只返回一列。这是你陈述的主要问题。此外,WHERE子句的格式不正确。您应该在条件之间使用AND或or而不是逗号。定义3个以上的SELECT列是什么意思?我把逗号改成了和,这又是一个错误,你们中的很多人都说了。我实际上想的是,我的数据库中有两个表,其中包括约会和约会详细信息。My ApptID是My AppointmentDetails表中的外键,如果要在My AppointmentDetails表中插入值,我还需要将My AppointmentDetails表中的My ApptID映射到My Appointment表中的My ApptID。是吗?@kelly,而不是。。。选择ApptID。。。应该是。。。选择apptID、另一列、第二列、第三列…非常感谢您的帮助!我现在没有任何错误,但是我无法成功地插入数据库。定义3个以上的SELECT列是什么意思?我把逗号改成了和,这又是一个错误,你们中的很多人都说了。我实际上想的是,我的数据库中有两个表,其中包括约会和约会详细信息。My ApptID是My AppointmentDetails表中的外键,如果要在My AppointmentDetails表中插入值,我还需要将My AppointmentDetails表中的My ApptID映射到My Appointment表中的My ApptID。是r吗
是吗?@kelly,而不是。。。选择ApptID。。。应该是。。。选择apptID、另一列、第二列、第三列…非常感谢您的帮助!我现在没有任何错误,但无法成功插入数据库。