当前位置:编程学习 > C#/ASP.NET >>

毕业设计之学生个人信息修改,望高手指点迷津!

 Dim ModiString As String
        cmdOk.Enabled = Not cmdOk.Enabled
        cmdClose.Enabled = Not cmdClose.Enabled
        cmdReg.Enabled = Not cmdReg.Enabled
        Try
            If cmdMod.Text = "修改" Then
                cmdMod.Text = "确认修改"
                Dim SQLStr As String = "Select * From StudentInfor where Snum='" & Snum & "'"   '设置SQL命令字符串
                MyCom.CommandText = SQLStr             '设置要执行的命令
                MyDs = New DataSet                     '产生新的数据集
                MyDataAdapter.Fill(MyDs, "StudentInfor")    '填充数据集
                Navigator = Me.BindingContext(MyDs, "StudentInfor") '用Navigator绑定StudentInfor表
                txtSnum.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Snum").ToString()
                txtSname.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sname").ToString()
                If MyDs.Tables("StudentInfor").Rows(Navigator.Position)("S易做图").ToString() = True Then
                    Option1.Checked = True
                Else
                    Option2.Checked = True
                End If
                txtSpeople.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Speople").ToString()
                txtClass.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sclass").ToString()
                dtBirth.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sbirth").ToString()
                dtClass.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sschool").ToString()
                txtSadd.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sadd").ToString()
                txtDad.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sdad").ToString()
                txtMum.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Smum").ToString()
                txtDwork.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sdadwork").ToString()
                txtMwork.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Smumwok").ToString()
                txtDtel.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Sdadtel").ToString()
                txtMtel.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Smumtel").ToString()
                txtMemo.Text = MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Smemo").ToString()
            Else
                cmdMod.Text = "修改"
                If Len(txtSnum.Text) <> 10 Then
                    MsgBox("学号必须为10位,请重新输入!", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "提示信息")
                    cmdMod.Text = "确认修改"
                    Exit Sub
                End If

                '形成SQL-UPDATE语句的字符串并作为命令文本
                ModiString = "Update StudentInfor Set Snum='" + txtSnum.Text + "'"
                ModiString = ModiString + ",Sname='" + txtSname.Text + "'"
                ModiString = ModiString + ",S易做图=" + Str(IIf(Option1.Checked, True, False))
                ModiString = ModiString + ",Speople='" + txtSpeople.Text + "'"
                ModiString = ModiString + ",Sclass='" + txtClass.Text + "'"
                ModiString = ModiString + ",Sbirth='" + dtBirth.Text + "'"
                ModiString = ModiString + ",Sschool='" + dtClass.Text + "'"
                ModiString = ModiString + ",Sadd='" + txtSadd.Text + "'"
                ModiString = ModiString + ",Sdad='" + txtDad.Text + "'"
                ModiString = ModiString + ",Smum='" + txtMum.Text + "'"
                ModiString = ModiString + ",Sdadwork='" + txtDwork.Text + "'"
                ModiString = ModiString + ",Smumwork='" + txtMwork.Text + "'"
                ModiString = ModiString + ",Sdadtel='" + txtDtel.Text + "'"
                ModiString = ModiString + ",Smumtel='" + txtMtel.Text + "'"
                ModiString = ModiString + ",Smemo='" + txtMemo.Text + "'"
                MyCom.CommandText = ModiString + " where Snum= '" + MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Snum").ToString() + "'"
                MyCom.ExecuteNonQuery() '执行SQL-UPDATE命令
                MyDataAdapter.Update(MyDs, "StudentInfor")     '更新操作,把记录集中的内容写入到数据源中
                MyDs.Clear()                                  '清除记录集
                MsgBox("该考生信息修改成功!", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "提示信息")
            End If
        Catch
            MsgBox("该考生信息无法修改!请检查原因!", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "提示信息")
        End Try


运行没有错误,就在"
 [MyCom.ExecuteNonQuery() '执行SQL-UPDATE命令
                MyDataAdapter.Update(MyDs, "StudentInfor")     '更新操作,把记录集中的内容写入到数据源中
                MyDs.Clear()                                  '清除记录集
                MsgBox("该考生信息修改成功!", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "提示信息")
            End If
        Catch
            MsgBox("该考生信息无法修改!请检查原因!", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "提示信息")
        End Try]
这往后就有问题了,总是说:该考生信息无法修改!请检查原因!,不知道是什么原因,请教高手指点迷津!
--------------------编程问答-------------------- MsgBox("该考生信息无法修改!请检查原因!", MsgBoxStyle.OKOnly + MsgBoxStyle.Information, "提示信息") 
改成msgbox(ex.tostring)
运行再试……

你不让他报错误信息,它怎么报给你原因?
数据的更新应该都有一个建立连接、更新数据、断开连接的过程,感觉是数据库连接的问题。 --------------------编程问答-------------------- 1楼前辈,加上去后提示ex没有定义呢
我想问问上面的代码有问题么? --------------------编程问答--------------------  ModiString = "Update StudentInfor Set Snum='" + txtSnum.Text + "'" 
                ModiString = ModiString + ",Sname='" + txtSname.Text + "'" 
                ModiString = ModiString + ",S易做图=" + Str(IIf(Option1.Checked, True, False)) 


这种写法一看就知道是新手写的,呵。

你可以用断点跟踪出这条SQL语句,在sql查询分析器里跑一下看看,是你这条语句有错误。
还有,你的代码不要这样写,stra=stra+strb 用 stra += strb 就行.
--------------------编程问答--------------------  Catch ex As Exception
   massagebox.show(ex) --------------------编程问答-------------------- 你走下面的话 dataset的声明没有 还有VB的我不是很熟悉 可能你用dataadapter填充DATASET有问题 因该是填充datatable吧 你把Myds 改成myds.tables(0) 看看 
用dataadapter的话这句MyCom.ExecuteNonQuery()有点多余
 MyDataAdapter..fill(MyDs.tables("StudentInfor"),mycom ) 试试      --------------------编程问答-------------------- 刚看错了 你if走下面的话是更新 到MyCom.ExecuteNonQuery()这里就可以了 下面可以省略了
MyDataAdapter.Update(MyDs, "StudentInfor")     '更新操作,把记录集中的内容写入到数据源中 
                MyDs.Clear()                                  '清除记录集 
--------------------编程问答-------------------- 1楼前辈,还是不行呢!我把
[MyDataAdapter.Update(MyDs, "StudentInfor")     '更新操作,把记录集中的内容写入到数据源中  
                MyDs.Clear()                                  '清除记录集  ]
这两句删除点也是说:该考生信息修改成功!呢,还有什么解决方法么?请指教 --------------------编程问答-------------------- 帮你UP吧~
 这代码~~ --------------------编程问答-------------------- 说错了,是6楼前辈 --------------------编程问答-------------------- 8楼朋友是什么意思啊?
我菜鸟 --------------------编程问答-------------------- 1楼前辈,
我照你说的做了,然后提示说:"至少一个参数没有指定值" --------------------编程问答-------------------- 你把代码发给我 我看看
66953324 --------------------编程问答-------------------- 等待牛人来答.
补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,