동시에 행 수를 얻으려면 많은 (16) 개의 서로 다른 쿼리가 필요합니다. 16 개의 다른 연결을 실행하고 있었지만 하나의 저장 프로 시저 만 결합 할 수 있다고 생각했습니다. 그것은이 라인 DataReader가에 (범위 excpection 중 시스템) 오류를 제공으로하나의 저장 프로 시저에서 여러 개의 개별 sql 쿼리
내가 문제가 오전 :
Dim strConn As String = "Data Source=myDataSource"
Dim Conn As New SqlConnection(strConn)
Dim Cmd As New SqlCommand("adminStats", Conn)
Cmd.CommandType = CommandType.StoredProcedure
Dim objDRL As SqlDataReader
Cmd.Parameters.Add(New SqlParameter("@campDate", "June 2014"))
Conn.Open()
objDRL = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
If objDRL.HasRows Then
While objDRL.Read()
Count1 = Convert.ToInt32(objDRL("Row_Count1"))
Count2 = Convert.ToInt32(objDRL("Row_Count2"))
Count3 = Convert.ToInt32(objDRL("Row_Count3"))
Count4 = Convert.ToInt32(objDRL("Row_Count4"))
Count5 = Convert.ToInt32(objDRL("Row_Count5"))
Count6 = Convert.ToInt32(objDRL("Row_Count6"))
Count7 = Convert.ToInt32(objDRL("Row_Count7"))
Count8 = Convert.ToInt32(objDRL("Row_Count8"))
Count9 = Convert.ToInt32(objDRL("Row_Count9"))
Count10 = Convert.ToInt32(objDRL("Row_Count10"))
Count11 = Convert.ToInt32(objDRL("Row_Count11"))
Count12 = Convert.ToInt32(objDRL("Row_Count12"))
Count13 = Convert.ToInt32(objDRL("Row_Count13"))
Count14 = Convert.ToInt32(objDRL("Row_Count14"))
Count15 = Convert.ToInt32(objDRL("Row_Count15"))
End While
Else
End If
link1.Text = Count1.ToString
link2.Text = Count2.ToString
link3.Text = Count3.ToString
link4.Text = Count4.ToString
Link5.Text = Count5.ToString
Link6.Text = Count6.ToString
Link7.Text = Count7.ToString
Link8.Text = Count8.ToString
Link9.Text = Count9.ToString
Link10.Text = Count10.ToString
Link11.Text = Count11.ToString
Link12.Text = Count12.ToString
Link13.Text = Count13.ToString
Link14.Text = Count14.ToString
Link15.Text = Count15.ToString
Conn.Close()
저장 프로 시저 :
다음Count2 = Convert.ToInt32(objDRL("Row_Count2").ToString).
은 내 코드입니다
CREATE PROCEDURE adminStats
@campDate VARCHAR(20)
AS
BEGIN
SELECT COUNT(*) AS Row_Count1 FROM Customer
SELECT COUNT(*) AS Row_Count2 FROM campRegistration WHERE campDate = @campDate
SELECT COUNT(*) AS Row_Count3 FROM campRegistration WHERE paidFull = 'True'
SELECT COUNT(*) AS Row_Count4 FROM campRegistration WHERE shirtSize = 'S'
SELECT COUNT(*) AS Row_Count5 FROM campRegistration WHERE shirtSize = 'M'
SELECT COUNT(*) AS Row_Count6 FROM campRegistration WHERE shirtSize = 'L'
SELECT COUNT(*) AS Row_Count7 FROM campRegistration WHERE shirtSize = 'XL'
SELECT COUNT(*) AS Row_Count8 FROM campRegistration WHERE shirtSize = 'XXL'
SELECT COUNT(*) AS Row_Count9 FROM campRegistration WHERE Staff = 'True'
SELECT COUNT(*) AS Row_Count10 FROM campRegistration WHERE days = '1'
SELECT COUNT(*) AS Row_Count11 FROM campRegistration WHERE days = '2'
SELECT COUNT(*) AS Row_Count12 FROM campRegistration WHERE days = '3'
SELECT COUNT(*) AS Row_Count13 FROM campRegistration WHERE days = '12'
SELECT COUNT(*) AS Row_Count14 FROM campRegistration WHERE days = '23'
SELECT COUNT(*) AS Row_Count15 FROM campRegistration WHERE days = '123'
END
GO
나는 진정한 SQL 천재에 감사드립니다! – mlg74
@ mlg74를 환영합니다. – Devart
완전한 'WHERE' 절을 남겨 둡니다. 이 경우에는 더 빠를 것입니다. –