我目前正在学习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表中的主题),学生可以选择一个Subject,然后按下按钮,将其插入Courses表中。
答案 0 :(得分:0)
对每个表使用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
表中插入Courses
表的前2个单元格数据。
请注意,这只是一个基本示例。您需要根据自己的要求修改代码
<强>更新强> 我一定是昨天加了这个,但我有点忙......但是我们开始......
对于每个表中的每一列,您可以创建一个list(of string)
。例如,创建一个名为list(of string)
的{{1}}子/变量。现在,使用StudentnameandID
对于前两个表(学生和教授)。将单元格1的值从数据表传递到List(字符串)子datatable
确保在每个值之后添加一个特殊字符,如逗号(,)。 ..最后,您可以将STUDENTNAMEANDID
中的每个值与已添加的逗号分开...然后在Studentnameandid
中for each
值,您将数据添加到上一个表格.....
如果您需要示例代码,请发表评论,然后我会添加