一个简单的困扰了我一个晚上的问题,请大伙帮忙看看 :(

eqh 2004-12-17 08:46:53
要实现的功能:会员资料修改
===============
先用label控件和文本框来显示要修改的资料,然后再点击button1来提交
问题是:可以提交但是数据库里的数据却不变。
代码如下 :
Public mycon As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database\suznet.mdb"))
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Session("username") <> "" Then
Label1.Text = Session("username")
Else
Response.Redirect("tishi.aspx")
End If
If Not IsPostBack Then
binddata()
End If
End Sub
Sub binddata()
Dim mycmd As New OleDb.OleDbCommand("select * from userlist where name=@name", mycon)
Dim myreader As OleDb.OleDbDataReader
mycmd.Parameters.Add("@name", Session("username"))
Try
mycon.Open()
myreader = mycmd.ExecuteReader
While myreader.Read
TextBox1.Text = myreader("username")
TextBox2.Text = myreader("sex")
TextBox3.Text = myreader("age")
TextBox4.Text = myreader("love")
TextBox5.Text = myreader("job")
TextBox6.Text = myreader("question")
TextBox7.Text = myreader("keys")
TextBox8.Text = myreader("qq")
TextBox9.Text = myreader("email")
TextBox10.Text = myreader("zhuye")
TextBox11.Text = myreader("phone")
TextBox12.Text = myreader("address")
End While
mycon.Close()
Catch ex As Exception
' Response.Redirect("tishi.aspx")
Response.Write(ex.ToString)
End Try


End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Response.Redirect("user.aspx")
End Sub

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strcmd As String
strcmd = "update userlist set username=@username,sex=@sex,love=@love,job=@job,question=@question,keys=@keys,qq=@qq,email=@email,zhuye=@zhuye,address=@address where name=@name"
Dim mycmd As New OleDb.OleDbCommand(strcmd, mycon)
mycmd.Parameters.Add("@name", Session("username"))
mycmd.Parameters.Add("@username", TextBox1.Text)
mycmd.Parameters.Add("@sex", TextBox2.Text)
mycmd.Parameters.Add("@age", TextBox3.Text)
mycmd.Parameters.Add("@love", TextBox4.Text)
mycmd.Parameters.Add("@job", TextBox5.Text)
mycmd.Parameters.Add("@question", TextBox6.Text)
mycmd.Parameters.Add("@keys", TextBox7.Text)
mycmd.Parameters.Add("@qq", TextBox8.Text)
mycmd.Parameters.Add("@email", TextBox9.Text)
mycmd.Parameters.Add("@zhuye", TextBox10.Text)
mycmd.Parameters.Add("@phone", TextBox11.Text)
mycmd.Parameters.Add("@address", TextBox12.Text)
Try
mycon.Open()
mycmd.ExecuteNonQuery()
mycon.Close()
Response.Redirect("user.aspx")
Catch ex As Exception
Response.Write(ex.ToString)
End Try
End Sub
请大家帮忙指点!
...全文
141 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
flcandclf 2004-12-17
  • 打赏
  • 举报
回复
这么多高手回帖,我就等着接分啦!
vzxq 2004-12-17
  • 打赏
  • 举报
回复
up
GSXiaoXiao 2004-12-17
  • 打赏
  • 举报
回复
up
eqh 2004-12-17
  • 打赏
  • 举报
回复
终于搞定了,原来是这样才行啊!
代码:
strcmd = "update userlist set username='" & TextBox1.Text & "',sex='" & TextBox2.Text & "',age='" & TextBox3.Text & "',love='" & TextBox4.Text & "',job='" & TextBox5.Text & "',question='" & TextBox6.Text & "',keys='" & TextBox7.Text & "',qq='" & TextBox8.Text & "',email='" & TextBox9.Text & "',zhuye='" & TextBox10.Text & "',phone='" & TextBox11.Text & "',address='" & TextBox12.Text & "' where name='" & Session("username") & "'"
eqh 2004-12-17
  • 打赏
  • 举报
回复
我以前用sql数据库的时候,用上面的方法行,可现在用access却不行了
lovecsdn2004 2004-12-17
  • 打赏
  • 举报
回复
strcmd = "update userlist set username='"&@username&"',sex='"&@sex&"',love='&@love&"'......

tttttttt1234 2004-12-17
  • 打赏
  • 举报
回复
up
confidence26 2004-12-17
  • 打赏
  • 举报
回复
可能是where name=@name 语句没找到,即name在数据库的字段是nvarchar吗?@name是中文的话,不知道传参数的怎么写?!呵呵~~只知道下面这种strcmd = "update userlist set username=N'" & TextBox1.Text & "',sex=N'" & TextBox2.Text & "',.........where name=N'" & Session("username") & "'" 希望有用!
simon8181 2004-12-17
  • 打赏
  • 举报
回复
引号里面加的是sql语句,数据库用的,程序的变量要写在外面
eqh 2004-12-17
  • 打赏
  • 举报
回复
我急~~~~~~~~~~
请大家帮帮忙,小弟感激不尽!
eqh 2004-12-17
  • 打赏
  • 举报
回复
楼上的大哥是应该写成这样吗?
strcmd = "update userlist set 'username'=@username,'sex'=@sex,'love'=@love,'job'=@job,'question'=@question,'keys'=@keys,'qq'=@qq,'email'=@email,'zhuye'=@zhuye,'address'=@address where 'name'=@name"
mywebcom 2004-12-17
  • 打赏
  • 举报
回复
mycmd.ExecuteNonQuery() 执行异常!
原因是 那些更新的字符串应该有'', 看你的代码:mycmd.Parameters.Add("@name", Session("username")) ,如果你想看得更清楚点,看看你的 strcmd显示结果!

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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