提问的智慧

zrs413128313 2008-10-25 04:06:26
三层结构做通讯录,用vb.net编程,为什么不能修改记录.但是能增加和删除记录,调试时没有出错.本人怀疑是+[friend].ID.ToString 出错,因为他的返回值是0.望高手们回答为盼.
业务层代码如下:
Public Sub updatefriendbyid(ByVal [friend] As ContactEntry)

Dim conn As New SqlConnection
conn.ConnectionString = ConfigurationSettings.AppSettings("connectionstring")
Dim cmd As New SqlCommand
cmd.CommandText = "update contact set cname='" + [friend].cname + "',caddress='" + [friend].caddress + "',cemail='" + [friend].cphone + "',cphone='" + [friend].cemail + "',qq='" + [friend].qq + "'" + "where id= " +[friend].ID.ToString cmd.Connection = conn
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()

End Sub

表现层的代码如下:
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
If Page.IsValid Then
Dim [friend] As New ContactEntry
[friend].cname = txtname.Text
[friend].caddress = txtaddress.Text
[friend].cphone = txtphone.Text
[friend].cemail = txtemail.Text
[friend].qq = txtqq.Text
Dim contact As New contactDB
contact.updatefriendbyid([friend])
Response.Redirect("Default.aspx")
End If
End Sub
...全文
108 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zrs413128313 2008-10-26
  • 打赏
  • 举报
回复
在查询分析器中是可以更新的,但在vb.net中就不行了
wuyi8808 2008-10-26
  • 打赏
  • 举报
回复
你先在查询分析器中执行一下看。
zrs413128313 2008-10-26
  • 打赏
  • 举报
回复
还是不行,各位专家,请留下你们的QQ号吧,我想亲自问你们,我的QQ号是413128313
wuyi8808 2008-10-25
  • 打赏
  • 举报
回复
你数据库中的 id 字段是数值型的吗?
建议改成 string.Format() 的形式,这样清晰多了:


cmd.CommandText = string.Format("update contact set cname='{0}',caddress='{1}',cemail='{2}',cphone='{3}',qq='{4}' where id={5}", [friend].cname, [friend].caddress, [friend].cphone, [friend].cemail, [friend].qq, [friend].ID)
wuyi8808 2008-10-25
  • 打赏
  • 举报
回复
[friend].ID.ToString()
wuyi8808 2008-10-25
  • 打赏
  • 举报
回复
提问的智慧?

三层结构做通讯录,用vb.net编程,为什么不能修改记录.但是能增加和删除记录,调试时没有出错.本人怀疑是+[friend].ID.ToString 出错,因为他的返回值是0.望高手们回答为盼.
业务层代码如下:
Public Sub updatefriendbyid(ByVal [friend] As ContactEntry) 

Dim conn As New SqlConnection
conn.ConnectionString = ConfigurationSettings.AppSettings("connectionstring")
Dim cmd As New SqlCommand
cmd.CommandText = "update contact set cname='" + [friend].cname + "',caddress='" + [friend].caddress + "',cemail='" + [friend].cphone + "',cphone='" + [friend].cemail + "',qq='" + [friend].qq + "'" + "where id= " +[friend].ID.ToString cmd.Connection = conn
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()

End Sub


表现层的代码如下:
Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click 
If Page.IsValid Then
Dim [friend] As New ContactEntry
[friend].cname = txtname.Text
[friend].caddress = txtaddress.Text
[friend].cphone = txtphone.Text
[friend].cemail = txtemail.Text
[friend].qq = txtqq.Text
Dim contact As New contactDB
contact.updatefriendbyid([friend])
Response.Redirect("Default.aspx")
End If
End Sub

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧