问题描述
DimModiStringAsStringcmdOk.Enabled=NotcmdOk.EnabledcmdClose.Enabled=NotcmdClose.EnabledcmdReg.Enabled=NotcmdReg.EnabledTryIfcmdMod.Text="修改"ThencmdMod.Text="确认修改"DimSQLStrAsString="Select*FromStudentInforwhereSnum='"&Snum&"'"'设置SQL命令字符串MyCom.CommandText=SQLStr'设置要执行的命令MyDs=NewDataSet'产生新的数据集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()IfMyDs.Tables("StudentInfor").Rows(Navigator.Position)("Ssex").ToString()=TrueThenOption1.Checked=TrueElseOption2.Checked=TrueEndIftxtSpeople.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()ElsecmdMod.Text="修改"IfLen(txtSnum.Text)<>10ThenMsgBox("学号必须为10位,请重新输入!",MsgBoxStyle.OKOnly+MsgBoxStyle.Exclamation,"提示信息")cmdMod.Text="确认修改"ExitSubEndIf'形成SQL-UPDATE语句的字符串并作为命令文本ModiString="UpdateStudentInforSetSnum='"+txtSnum.Text+"'"ModiString=ModiString+",Sname='"+txtSname.Text+"'"ModiString=ModiString+",Ssex="+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+"whereSnum='"+MyDs.Tables("StudentInfor").Rows(Navigator.Position)("Snum").ToString()+"'"MyCom.ExecuteNonQuery()'执行SQL-UPDATE命令MyDataAdapter.Update(MyDs,"StudentInfor")'更新操作,把记录集中的内容写入到数据源中MyDs.Clear()'清除记录集MsgBox("该考生信息修改成功!",MsgBoxStyle.OKOnly+MsgBoxStyle.Information,"提示信息")EndIfCatchMsgBox("该考生信息无法修改!请检查原因!",MsgBoxStyle.OKOnly+MsgBoxStyle.Information,"提示信息")EndTry运行没有错误,就在"[MyCom.ExecuteNonQuery()'执行SQL-UPDATE命令MyDataAdapter.Update(MyDs,"StudentInfor")'更新操作,把记录集中的内容写入到数据源中MyDs.Clear()'清除记录集MsgBox("该考生信息修改成功!",MsgBoxStyle.OKOnly+MsgBoxStyle.Information,"提示信息")EndIfCatchMsgBox("该考生信息无法修改!请检查原因!",MsgBoxStyle.OKOnly+MsgBoxStyle.Information,"提示信息")EndTry]这往后就有问题了,总是说:该考生信息无法修改!请检查原因!,不知道是什么原因,请教高手指点迷津!
解决方案
解决方案二:
MsgBox("该考生信息无法修改!请检查原因!",MsgBoxStyle.OKOnly+MsgBoxStyle.Information,"提示信息")改成msgbox(ex.tostring)运行再试……你不让他报错误信息,它怎么报给你原因?数据的更新应该都有一个建立连接、更新数据、断开连接的过程,感觉是数据库连接的问题。
解决方案三:
1楼前辈,加上去后提示ex没有定义呢我想问问上面的代码有问题么?
解决方案四:
ModiString="UpdateStudentInforSetSnum='"+txtSnum.Text+"'"ModiString=ModiString+",Sname='"+txtSname.Text+"'"ModiString=ModiString+",Ssex="+Str(IIf(Option1.Checked,True,False))这种写法一看就知道是新手写的,呵。你可以用断点跟踪出这条SQL语句,在sql查询分析器里跑一下看看,是你这条语句有错误。还有,你的代码不要这样写,stra=stra+strb用stra+=strb就行.
解决方案五:
CatchexAsExceptionmassagebox.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
解决方案十四:
等待牛人来答.