ai didi

mysql - 使用 mysql 在 vb.net 中更新查询语法错误

转载 作者:行者123 更新时间:2023-11-29 10:54:53 24 4
gpt4 key购买 nike

enter image description here这是我的查询是否有人能发现错误

    str = "update student set course='" & ComboBox1.Text & "',name='" & 
TextBox2.Text & "',f_name='" & TextBox3.Text & "',address='" & TextBox4.Text
& "' ,tel_no='" & TextBox5.Text & "',qualification='" & TextBox6.Text &
"',remarks='" & TextBox7.Text & "',school/college='" & TextBox8.Text &
"',fee='" & TextBox10.Text & "' where reg_no=" & TextBox9.Text & " "

最佳答案

这是构建此查询的更好方法:

str = "update student " &
" set course= @course, name= @name, f_name= @fname, address= @address," &
" tel_no= @tel, qualification = @qualification, remarks= @remarks," &
" `school/college`=@school, fee= @fee" &
" where reg_no= @regno"

Using cn As New MySqlConnection("connection string here"), _
cmd As New MySqlCommand(str, cn)

'Use actual column types/lengths from your DB here
cmd.Parameters.Add("@course", MySqlDbType.VarChar, 15).Value = ComboBox1.Text
cmd.Parameters.Add("@name", MySqlDbType.VarChar, 25).Value = TextBox2.Text
cmd.Parameters.Add("@fname", MySqlDbtype.VarChar, 25).Value = TextBox3.Text
cmd.Parameters.Add("@address", MySqlDbType.VarChar, 120).Value = TextBox4.Text
cmd.Parameters.Add("@tel", MySqlDbType.VarChar, 25).Value = TextBox5.Text
cmd.Parameters.Add("@qualification", MySqlDbType.VarChar, 40).Value = TextBox6.Text
cmd.Parameters.Add("@remarks", MySqlDbType.VarString).Value = TextBox7.Text
cmd.Parameters.Add("@school", MySqlDbType.VarChar, 40).Value = TextBox8.Text
cmd.Parameters.Add("@fee", MySqlDbType.Decimal, 6, 2).Value = Convert.ToDecimal(TextBox10.Text)
cmd.Parameters.Add("@regno", MySqlDbType.Int32).Value = Integer.Parse(TextBox9.Text)

cn.Open()
cmd.ExecuteNonQuery()
End Using

这可以为您做很多事情:

  1. 它可以防止sql注入(inject)攻击
  2. 它允许您接受包含单引号 (') 等内容的数据。如果有人放入单引号,您的代码将会失败。
  3. 它会自动处理 SQL 的日期格式等事务。
  4. 速度更快,因为数据库服务器可以在编译查询后缓存执行计划,并使用一段时间内的统计信息来获得更好的执行计划。
  5. 它更可靠地关闭数据库连接。如果抛出异常,当前代码会使数据库连接保持打开状态。

关于mysql - 使用 mysql 在 vb.net 中更新查询语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43176771/

24 4 0
文章推荐: ios - 在调用 CPU 密集型任务之前完成 UISlider 渲染
文章推荐: Javascript 匹配在 IE 中不起作用
文章推荐: ios - 从 webservice 获取的图像未显示在 viewcontroller 中
文章推荐: javascript - jquery comet 长轮询和流式教程?
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com