В настоящее время я изучаю vb.net, и я работаю над небольшим тестовым проектом. Дело в том, что у меня пять таблиц:
Вход, где я храню регистрационную информацию для студентов:
IDUser | Name | Surname | Username | Password
---------------------------------------------
1 | John | Smith | john.smith | john123
Студенты, где я храню основную информацию о студентах
IDStudent | Name | Surname
--------------------------
1 | John | Smith
Профессора, где я читаю основные сведения о профессорах
IDProfessor | Name | Surname
----------------------------
1 | Mike | Petersen
Субъекты, где я храню основную информацию о предметах
IDSubject | SubjectName | ProfessorName
---------------------------------------
1 | Programming | Gary Williams
и для финальной таблицы, в которой мне нужно вставить данные из таблиц выше, у меня есть курсы:
IDCourse | StudentID | SubjectID | ProfessorID
----------------------------------------------
1 | ?? | ??? | ????
Вопрос в том, как вставить данные в таблицу курса из таблиц выше. В настоящее время я использую MySql в качестве моей базы данных, и я создал внешние ключи и связал их с первичными ключами. У меня также есть ComboBox (заполненный предметами из таблицы Subjects), где студент может выбрать тему и нажав кнопку, вставьте ее в таблицу курсов.
Используйте DataTable
для каждой таблицы и вставляйте данные таблицы из одного в другой. Например:
Dim con as new MySqlConnection="connectionsstringhere"
con.open
Dim cmd as new Mysqlcommand = "Select * from Login",con)
dim table as new datatable
Dim adapter as new mysqldataadapter(cmd)
adapter.filll(table)
Dim cmd2 as new mysqlcommand("Insert into Courses([student id],[subject id],[Professor id])values(@sid,@sbid,@pid)",con)
cmd2.parametres.add("@sid",mysqldbtype.nvarchar).Value = table.rows(0)(1) 'here (0) is the column no. and (1) is the cell no.
cmd2.parametres.add("@sbid",mysqldbtype. nvarchar).Value = table.rows(0)(2)
cmd2.executenonquery
con.close
Следующий код вставляет таблицу Login
первые 2 ячейки данных в таблицу Courses
.
Обратите внимание, что это всего лишь базовый пример. Вам нужно изменить код на основе ваших требований
UPDATE Я, должно быть, добавил это вчера, но я был немного занят... Однако пусть начнется....
Для каждого столбца в каждой таблице вы можете создать list(of string)
. Например, создайте StudentnameandID
/переменную list(of string)
под именем StudentnameandID
. Теперь используйте datatable
для первых двух таблиц (Student and Professor). Передайте значения ячейки 1 из datatable в List (of string) sub STUDENTNAMEANDID
Обязательно добавьте специальный символ, например, запятую (,) после каждого значения... Затем, наконец, вы можете отделить каждое значение от Studentnameandid
вы добавлены запятые... Затем for each
значения в Studentnameandid
вы добавляете данные в свою последнюю таблицу.....
Если вам нужен пример кода для этого, оставьте комментарий, и я добавлю его