私は自分のプロジェクトで使用するSELECTクエリを書いています。これまでのところ、私は(SQL、VB.NET)どのように1つの行から複数の値を選択して変数に割り当てるのですか?
Dim conn As New OleDbConnection
Dim StudentID, GradeID, SubjectID As Integer
Dim YourGrade(4), YourSubject(4) As String
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source =H:\Year 13 Computer Science\Project\Usernames and Passwords.accdb"
conn.Open()
Dim sql = "Select * From Grades where StudentID =" & CurrentID
Dim cmd As New OleDbCommand(sql, conn)
Dim dr As OleDbDataReader = cmd.ExecuteReader
While dr.Read
StudentID = dr("StudentID")
GradeID = dr("GradeID")
SubjectID = dr("SubjectID")
End While
を持っている私の問題は、学生が通常の3以上または少ない科目を取っている場合には、私は、選択するSubjectIDsとGradeIDsの動的な数を持ってできるようにする必要があるということです。
私のクエリが生成します。
StudentID GradeID SubjectID
1 2 1
1 4 13
1 3 19
CurrentIDは、この目的のために "1" です。
各GradeIDとSubjectIDは、後で作業できる他の表の値に対応しています。
3つのグレードIDのそれぞれを別々の値にする必要があります。配列を使用することはできますが、コード化する方法はわかりません。私は「YourGrade(4)、YourSubject(4)」に示されているように早くそれを試みました。
データグリッドに記入するためにデータを使用する予定です。
データグリッドのデータを使用する場合は、データセットまたはデータテーブルを入力するために日付アダプタを使用するだけではいかがですか? –
私の問題はデータを提示する方法ではなく、私のプログラム内に他の機能するデータグリッドがあります。あなたが質問を読むと、テーブルからの私のデータは、ユーザに情報を伝えることのない一連の数字であることがわかります。そのためには、他の機能が必要です。 –