现在我的数据库中有两张表学生表:
姓名     年龄    性别   班级    
张三     20      女     一班
马五     30      男     二班班级表:
班级     班主任     所在教室 
一班     王楠       3201
二班     李梅       3202现在我想在这个数据库中加入第三个人
姓名     年龄     性别     班级    班主任    所在教室
可乐      19      男       三班     曲晓      5504
我用的数据库是access,针对这个问题我应该怎样用程序去实现呢?
我知道在单个表中加入数据的话用addnew方法,可是同时在两个表中添加数据该怎么办呢
谢谢

解决方案 »

  1.   

    conn.execute "insert into 学生表(姓名,年龄,性别,班级) values('可乐',19,'男','三班')"
    conn.execute "insert into 班级表(班级,班主任,所在教室) values('三班','曲晓','5504')"
      

  2.   

    你完全可以往两个表中添加记录的啊
    只不过是sql中的表不同罢了  select * from 表
    并且addnew 方法是表中有记录的时候才可用的,推荐
    Leftie(左手,为人民币服务) 的做法这可是 三星级人物!!!!
      

  3.   

    我是新手,因为最近要用到vb和数据库的连接所以才开始学习,以下程序出了点问题帮我调试一下吧如果还有什么不妥当的地方也帮我指出来吧。感激不尽
    Dim cn As New ADODB.Connection
    Dim rsstudent As New ADODB.Recordset
    Dim rsclass As New ADODB.Recordset
    Private Sub Command1_Click()
    If Not EOF Then
       rsstudent.MoveNext
    For i = 0 To 2
    Text(i).Text = rsstudent.Fields(i)
    Next i
    rsclass.Open "select * from 班级信息表 where rsclass.Fields(0)=rsstudent.Fields(2)"
    For i = 3 To 4
    Text(i).Text = rsclass.Fields(i - 3)
    Next i
    End SubPrivate Sub Command2_Click()
    For i = BOF To EOF
    If Text(3).Text! = rsclass.Fields(0) Then
       rsclass.AddNew
    End If
    Next i
    rsclass.UpdateFor i = BOF To EOF
    If Text(0).Text! = rsstudent.Fields(0) Then
       rsstudent.AddNew
    End If
    Next i
    rsstudent.Update
    End SubPrivate Sub Command3_Click()
    If rsstudent.RecordCount > 0 Then
       rsstudent.Delete.adAffectCurrent
       rsstudent.Update
    End If
    For i = 0 To 4
     Text(i).Text = " "
    Next i
    Else: MsgBox "数据库已空"
    End Sub
     
       End SubPrivate Sub Form_Load()
    Set cn = New ADODB.Connection
    cn.Open "provider=microsoft.jet.oledb.4.0;data source=D:\我的 文件家\vb6mini\学生班级基本信息库.mdb;"
    rsstuden.Open "select * from 学生信息表"
    rsclass.Open "select * from 班级信息表 where rsstudent.所在班级号=rsclass.班级号"
    displaystudent
    End SubPublic Sub displaystudent()
    If rsstudent.RecordCount > 0 Then
       For i = 0 To 2
       Text(i).Text = rsstudent.Fields(i)
    End If
    If rsclass.RecordCount > 0 Then
       For i = 3 To 4
       Text(i).Text = rsclass.Fields(i - 3)
    End If
       
      

  4.   

    我是新手,因为最近要用到vb和数据库的连接所以才开始学习,以下程序出了点问题帮我调试一下吧如果还有什么不妥当的地方也帮我指出来吧。感激不尽。
    刚才那个没加注释,所以我又发了一遍
    Dim cn As New ADODB.Connection
    Dim rsstudent As New ADODB.Recordset
    Dim rsclass As New ADODB.Recordset'移到下一个记录 
    Private Sub Command1_Click()
    If Not EOF Then
       rsstudent.MoveNext
    For i = 0 To 2
    Text(i).Text = rsstudent.Fields(i)
    Next i
    rsclass.Open "select * from 班级信息表 where rsclass.Fields(0)=rsstudent.Fields(2)"
    For i = 3 To 4
    Text(i).Text = rsclass.Fields(i - 3)
    Next i
    End Sub'添加新记录
    Private Sub Command2_Click()
    For i = BOF To EOF
    If Text(3).Text! = rsclass.Fields(0) Then
       rsclass.AddNew
    End If
    Next i
    rsclass.UpdateFor i = BOF To EOF
    If Text(0).Text! = rsstudent.Fields(0) Then
       rsstudent.AddNew
    End If
    Next i
    rsstudent.Update
    End Sub
    '删除记录
    Private Sub Command3_Click()
    If rsstudent.RecordCount > 0 Then
       rsstudent.Delete.adAffectCurrent
       rsstudent.Update
    End If
    For i = 0 To 4
     Text(i).Text = " "
    Next i
    Else: MsgBox "数据库已空"
    End SubPrivate Sub Form_Load()
    Set cn = New ADODB.Connection
    cn.Open "provider=microsoft.jet.oledb.4.0;data source=D:\我的 文件家\vb6mini\学生班级基本信息库.mdb;"
    rsstuden.Open "select * from 学生信息表"
    rsclass.Open "select * from 班级信息表 where rsstudent.所在班级号=rsclass.班级号"
    displaystudent
    End SubPublic Sub displaystudent()
    If rsstudent.RecordCount > 0 Then
       For i = 0 To 2
       Text(i).Text = rsstudent.Fields(i)
    End If
    If rsclass.RecordCount > 0 Then
       For i = 3 To 4
       Text(i).Text = rsclass.Fields(i - 3)
    End If
       
      

  5.   

    别着急啊
    1.rs open的语法错了, rsstuden.Open "select * from 学生信息表",cn,1,3 你所有的rs都要这样的方法
    2.Private Sub Command1_Click()
    If Not EOF Then
       rsstudent.MoveNext  '你换行了没有end if
    For i = 0 To 2
    Text(i).Text = rsstudent.Fields(i)
    Next i
    rsclass.Open "select * from 班级信息表 where rsclass.Fields(0)=rsstudent.Fields(2)"
    For i = 3 To 4
    Text(i).Text = rsclass.Fields(i - 3)
    Next i
    End Sub我没有仔细看完,但是你的问题在程序中设置一个断点就能检测出来了。
    别着急,慢慢来
      

  6.   

    还有点问题我用下面的语句选择出了我要的数据怎么将他传递给界面上的text控件呢下面的程序出了点错误
    SELECT 学生信息表.姓名, 学生信息表.性别,学生信息表.年龄, 班级信息表.班级名, 班级信息表.所在教室,班级信息表.班主任 FROM 学生信息表,班级信息表 where 班级信息表.班级号 = 学生信息表.所在班级号
    Dim cn As New ADODB.Connection
    Dim rsstudent As New ADODB.Recordset
    Dim rsclass As New ADODB.RecordsetPrivate Sub Command1_Click()
    If Not rsstudent.EOF Then
       rsstudent.MoveNext
    Else:
       rsstudent.MoveFirst
    End If
    For i = 0 To 2
    Text1(i).Text = rsstudent.Fields(i)
    Next i
    SELECT 学生信息表.姓名, 学生信息表.性别,学生信息表.年龄, 班级信息表.班级名, 班级信息表.所在教室,班级信息表.班主任 FROM 学生信息表,班级信息表 where 班级信息表.班级号 = 学生信息表.所在班级号
    For i = 3 To 4
    Text1(i).Text = rsclass.Fields(i - 3)
    Next i
    End Sub