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 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀