将数据从一个表插入另一个表| MySQL的

时间:2018-02-12 11:51:38

标签: mysql vb.net

我目前正在学习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表中。

1 个答案:

答案 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中的每个值与已添加的逗号分开...然后在Studentnameandidfor each值,您将数据添加到上一个表格.....

如果您需要示例代码,请发表评论,然后我会添加