C# 如何在变量中存储sql查询
我有一个查询,它返回staff TeachingID,它是staff教授的课程的id 我的问题是: 如何存储这些值因为它返回的值超过1个,我可以在sql server或c中使用数组吗 然后我想获取这些值并将其传递给其他查询,如下所示: 选择考试。考试日期,其中ExamID=@GetExamIDC# 如何在变量中存储sql查询,c#,mysql,asp.net,sql-server,C#,Mysql,Asp.net,Sql Server,我有一个查询,它返回staff TeachingID,它是staff教授的课程的id 我的问题是: 如何存储这些值因为它返回的值超过1个,我可以在sql server或c中使用数组吗 然后我想获取这些值并将其传递给其他查询,如下所示: 选择考试。考试日期,其中ExamID=@GetExamID SELECT Staff_Teaching.TeachingID FROM Staff_Teaching INNER JOIN Staff ON Staff_Teaching.St
SELECT Staff_Teaching.TeachingID FROM Staff_Teaching INNER JOIN
Staff ON Staff_Teaching.StaffID = Staff.StaffID WHERE (Staff.StaffID = @StaffID) AND (Staff_Teaching.SemesterID = @SemesterID))
我可以使用foreach或array吗?我正在使用asp.NETC
这就是我想做的
`@GetExamID` is where I want to pass these values to be checked
我有5个查询,第一个将得到teachingid 1值
第二个将获得coursesid大于1的值
然后,接下来的两名学生将学习coursesid,并获得考试日期和时间
然后我想检查最后一次查询中是否有任何结果SQL Server中没有类似的数组。您可以使用临时表临时存储此信息
BEGIN TRANSACTION
SET @GetTeachingID =(SELECT Staff_Teaching.TeachingID
FROM Staff_Teaching INNER JOIN
Staff ON Staff_Teaching.StaffID = Staff.StaffID
WHERE (Staff.StaffID = @StaffID) AND (Staff_Teaching.SemesterID = @SemesterID))
COMMIT
BEGIN TRANSACTION
SELECT Course_Department.CourseID
FROM Course_Department INNER JOIN
Exam ON Course_Department.CourseID = Exam.ExamID INNER JOIN
ExamSchedule ON Exam.ExamID = ExamSchedule.ExamID INNER JOIN
Staff_Teaching ON Course_Department.TeachingID = Staff_Teaching.TeachingID
WHERE (Staff_Teaching.TeachingID = @GetTeachingID)
COMMIT
BEGIN TRANSACTION
SET @GetExamDate=(SELECT Exam.Date
FROM Exam
WHERE (ExamID = @GetExamID))
COMMIT
BEGIN TRANSACTION
SET @GetExamTime=(SELECT Exam.BegainTime
FROM Exam
WHERE (ExamID = @GetExamID))
COMMIT
BEGIN TRANSACTION
SELECT ExamScheduleID
FROM Exam INNER JOIN
ExamSchedule ON Exam.ExamID = ExamSchedule.ExamID
WHERE (ExamSchedule.ExamScheduleID = @ExamScheduleID) AND (Exam.Date LIKE @GetExamDate) AND (Exam.BegainTime<=@GetExamTime)
COMMIT
END
传为
SELECT Staff_Teaching.TeachingID
INTO #Temp
Staff_Teaching INNER JOIN
Staff ON Staff_Teaching.StaffID = Staff.StaffID WHERE
(Staff.StaffID = @StaffID) AND (Staff_Teaching.SemesterID = @SemesterID))
你可以这样写
SELECT Exam.Date FROM Exam WHERE (ExamID IN SELECT * FROM #Temp)
并将@GetExamID作为逗号分隔的字符串1,2,4,5
可以使用以下命令将int数组转换为逗号分隔的字符串
declare @query = '(SELECT Exam.Date FROM Exam WHERE (ExamID IN ('+@GetExamID+') )'
exec @query
请适当标记您的问题。您使用的是MySQL还是SQL Server?检查表是否有示教栏?如何保存第一个查询中的值以将其传递给@GetExamID?!
var result = string.Join(",", arr);