我試圖在列中將整行添加到組合框中。 當我嘗試它或者只顯示列的最後一行或它只顯示最後一行35次。從MS Access數據庫行填充一個VB組合框
我在想什麼?這真讓我抓狂。我對評論欄目道歉,我正在嘗試一些不同的編碼。
Option Strict On
Imports System.Data.OleDb
Imports ShadowLogin.GlobalVariables
Public Class DeptNewSch
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Me.Close()
ShadowMain.Show()
End Sub
Private Sub DeptNewSch_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim CourseArray(35, 2) As String
Using cnnOLEDB = New OleDbConnection(strConnectionString)
Dim NewSchDS As DataSet
Dim NewSchTables As DataTableCollection
Dim NewSchsource1 As New BindingSource
NewSchDS = New DataSet
NewSchTables = NewSchDS.Tables
Using cmd As New OleDbCommand("SELECT ClassSection.CourseTitle AS Course, ClassSection.SectionNumber AS [Section Number], ClassSection.ScheduleNumber AS [Schedule Number], Course.ShortTitle AS [Course Title], Course.Units, ClassSection.Type AS Format, ClassSection.TimeSlot AS [Days/Time], ClassSection.RoomID AS Location, Faculty.[First Name], Faculty.[Last Name], Classroom.MaxCapacity AS Seats FROM [Classroom], [ClassSection], [Faculty], [Course] WHERE (ClassSection.FRedID = Faculty.FRedID) AND Course.CourseTitle = ClassSection.CourseTitle AND Classroom.RoomID = ClassSection.RoomID AND [email protected] AND [email protected];", cnnOLEDB)
cmd.Parameters.Add("@Year", OleDbType.VarWChar).Value = Convert.ToInt32(strYear.ToString())
cmd.Parameters.Add("@Semester", OleDbType.VarWChar).Value = strSemester.ToString()
Using NewSchDA As OleDbDataAdapter = New OleDbDataAdapter(cmd)
NewSchDA.Fill(NewSchDS, "New Semester") 'Change items to your database name
Dim view As New DataView(NewSchTables(0))
NewSchsource1.DataSource = view
dgNewSch.DataSource = view
Me.dgNewSch.Columns("Course").Width = 60
Me.dgNewSch.Columns("Section Number").Width = 50
Me.dgNewSch.Columns("Schedule Number").Width = 60
Me.dgNewSch.Columns("Course Title").Width = 190
Me.dgNewSch.Columns("Units").Width = 40
Me.dgNewSch.Columns("Format").Width = 70
Me.dgNewSch.Columns("Days/Time").Width = 100
Me.dgNewSch.Columns("Location").Width = 70
Me.dgNewSch.Columns("First Name").Width = 80
Me.dgNewSch.Columns("Last Name").Width = 80
Me.dgNewSch.Columns("Seats").Width = 50
End Using
End Using
End Using
'Connect to Database and get the registration information
Using cnnOLEDB = New OleDbConnection(strConnectionString)
' Query the classschedule table for start of semester datas
Using cmdOleDB = New OleDbCommand("SELECT [CourseTitle], [ShortTitle],[Units] FROM [Course] WHERE rownumber [email protected]", cnnOLEDB)
cnnOLEDB.Open()
Using rdrOLEDB = cmdOleDB.ExecuteReader
While rdrOLEDB.Read
Dim l As Integer
For l = 0 To 35
'cmdOleDB.Parameters.Add("@row", OleDbType.VarWChar).Value = l
CourseArray(l, 0) = rdrOLEDB.Item(0).ToString
CourseArray(l, 1) = rdrOLEDB.Item(1).ToString
CourseArray(l, 2) = rdrOLEDB.Item(2).ToString
Next
' CboFormat.Items.Add()
' CboDayTime.Items.Add()
' CboLocation.Items.Add()
' CboName.Items.Add()
End While
End Using
End Using
End Using
For z As Integer = 0 To 35
CboCourse.Items.Insert(z, CourseArray(z, 0).ToString)
Next
End Sub
末級
正如您可以猜到這是香港專業教育學院一直在努力的代碼。 任何幫助將是偉大的,如果我試圖做的是儘可能的。
循環是否準確地預測35條記錄?根據數據的不同,CBO可能會被綁定到一個List,其中包含與DGV – Plutonix
一樣的行...「List(Of Course)」或幾乎任何事情都會比二維數組好。 [見示例](http://stackoverflow.com/a/34164458/1070452) – Plutonix
所以你說,它更好地寫在個別的課程路線? (對不起還沒有睡過) –