wenqingzzz 2013-11-30 05:01 采纳率: 0%
浏览 1382

asp.net数据库连接,更新不成功啊

课程设计要做一个图书管理系统的,这是我在数据库更新的代码,就是按下按钮之后更新textbox3里的数据,在下面的代码可以成功更新数据库内容 。

1.用这段代码在页面没什么错误,书上是这样写的,但是更新不了数据库,数据库文件没变化。
Dim str1, strConn As String
str1 = "update memberinfo set 密码问题= @mmwt where 账号=@zh"
‘怎么更新不了数据库啊?
strConn = ConfigurationManager.AppSettings("strConn")
Dim conn As New OleDbConnection(strConn)
conn.Open()
Dim cmd1 As New OleDbCommand(str1, conn)
cmd1.Connection = conn
cmd1.Parameters.Add("@zh", OleDbType.Char, 10, "账号")
cmd1.Parameters.Add("@mmwt", OleDbType.Char, 50, "密码问题")
cmd1.Parameters("@zh").Value = Session("memberno").ToString()
cmd1.Parameters("@mmwt").Value = TextBox3.Text
Response.Write("alert('" + cmd1.Parameters("@mmwt").Value + "');")
cmd1.ExecuteNonQuery()
Dim adp1 As New OleDbDataAdapter(cmd1)
Dim ds1 As New DataSet
Dim n As Integer = adp1.Fill(ds1, "memberinfo")
conn.Close()

2我自己测试了下用下面的代码,.可以成功更新数据库的内容
Dim str1, strConn As String
str1 = "update memberinfo set 密码问题='" + TextBox3.Text + "' where 账号=@zh"
strConn = ConfigurationManager.AppSettings("strConn")
Dim conn As New OleDbConnection(strConn)
conn.Open()
Dim cmd1 As New OleDbCommand(str1, conn)
cmd1.Connection = conn
cmd1.Parameters.Add("@zh", OleDbType.Char, 10, "账号")
cmd1.Parameters("@zh").Value = Session("memberno").ToString()
cmd1.ExecuteNonQuery()
Dim adp1 As New OleDbDataAdapter(cmd1)
Dim ds1 As New DataSet
Dim n As Integer = adp1.Fill(ds1, "memberinfo")
conn.Close()
这到底是怎么回事啊?怎么按第一种代码更新成功,我按照课本上写的啊。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-01 14:25
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你使用的是OleDbCommand对象,而不是ADO.NET。你需要创建一个新的OleDbCommand对象,并将它绑定到你的SQL查询中。此外,你应该确保你在调用ExecuteNonQuery()之前关闭连接和数据源对象。

    以下是修复后的代码:

    Dim str1, strConn As String
    str1 = "update memberinfo set 密码问题='" & TextBox3.Text & "' where 账号=@zh"
    strConn = ConfigurationManager.AppSettings("strConn")
    Dim conn As New OleDbConnection(strConn)
    conn.Open()
    Dim cmd As New OleDbCommand(str1, conn) ' 创建一个新的OleDbCommand对象
    cmd.Connection = conn
    cmd.Parameters.AddWithValue("@zh", Session("memberno").ToString())
    cmd.Parameters.AddWithValue("@mmwt", TextBox3.Text)
    cmd.ExecuteNonQuery()
    

    现在,当你运行这个代码时,应该能够正确地更新数据库中的数据。

    评论

报告相同问题?

悬赏问题

  • ¥15 Windows X86 远线程注入问题解惑
  • ¥15 Vs2022安装时黑框闪退无反应
  • ¥15 嵌入式设备网口down后再up时不能link?
  • ¥15 关于区块链和边缘计算
  • ¥15 做一个简单项目,用Python分析共享单车的数据
  • ¥20 在使用CESM2.2.0模型进行case.submit过程中出现如下错误(关键词-Map)
  • ¥15 有办法改变通过wifi进入的网站的设置吗
  • ¥15 label_studio
  • ¥15 请教如何phython发邮件
  • ¥15 linux系统安装问题