이것은 내가 속해있는 수업의 사전 할당입니다. 예쁘기 만하고 예열로 활동하지만, 제대로 작동하지는 않습니다. 기본적으로 코드는 테스트 데이터베이스를 가져 와서 계산을 수행합니다. 이 경우 야구 선수 세트에서 가장 높은 평균 타격 평균을 찾으려고합니다.VB.Net에서의 SQL 계산이 작동하지 않습니다.
그래서 나의 최종 결과는 가장 높은 타격 평균을 가진 선수의 이름이어야하며, 가장 높은 평균을 위해 묶이는 선수는 몇 명이어야합니다. 여기
코드입니다 :Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dt As DataTable = New DataTable()
Dim connStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Baseball.accdb"
Dim sqlStr As String = "SELECT * FROM Players"
Dim dataAdapter As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(sqlStr, connStr)
dataAdapter.Fill(dt)
dataAdapter.Dispose()
Dim average, pastAverage, highestAverage As Double
For i As Integer = 0 To dt.Rows.Count - 1
average = CDbl(dt.Rows(i)("hits/atBats"))
If average > pastAverage Then
highestAverage = average
End If
pastAverage = average
Next
For i As Integer = 0 To dt.Rows.Count - 1
If dt.Rows(i)("hits/atBats") = highestAverage Then
lstBoxHighest.Items.Add(dt.Rows(i)("name"))
End If
Next
End Sub
End Class
디버거는 "평균 = CDbl에는 (dt.Rows (I) ("히트/atBats "))"루프에 대한 첫 번째 라인을지나 가지 않을 것이다
. 루프에서 계산을 할 수 없습니까?
name Team atBats hits Derek Jeter New York Yankees 511 158 Joe Mauer Minnesota Twins 545 174 etc...
감사 : 나는 열 제목은 (안타 atBats이 올바른지)
데이터베이스는 당신이 궁금해 경우 다음과 같습니다 확신합니다!
안타는 열 이름이고, atBats는 열 이름입니다. 나는 타율을 atBats로 나눔으로써 타율을 찾아 내려고 노력 중이다. 그래서 그것은 계산이어야합니다. SELECT 이름을 써서 새로운 열을 만들어야하나요, 타격 평균/평균 타수로 타격을합니다. – user3029567
데이터베이스 모양을 추가하여 atBats 및 조회수 열을 볼 수 있습니다. – user3029567