使用vb.net中的文本框更新sql 2005数据库

用户2541172

我有一个VB.Net表单,该表单允许用户更新客户详细信息,例如姓名,联系电话:等。因此,当客户输入客户名称等的新名称时,应用程序应更新现有的相应字段与客户ID相关的条目。

Dim cn As New SqlConnection
Dim cmd As New SqlCommand
Dim adapter As New SqlDataAdapter
Dim dt As New DataTable

cn.ConnectionString = ("Data Source=NIMO-HP\SQLEXPRESS;Initial Catalog=FYP_db;Integrated Security=True")
cmd.Connection = cn
cn.Open()

cmd.CommandText = " UPDATE TblCustomerDetails (compID, compName, compContact, compAddress, compFax, compEmail, compPayterm, compTaxscheme, compPaymode, compRemarks ) SET Values ('" & lblCID.Text & "', '" & txtCname.Text & "', '" & txtCpno.Text & "', '" & txtCaddrs.Text & "','" & txtCfax.Text & "', '" & txtCemail.Text & "', '" & cmbPterm.Text & "','" & cmbTaxschm.Text & "',' " & cmbPmode.Text & "', '" & txtRemarks.Text & "')  WHERE compID = '" & lblCID.Text & "';"

cmd.ExecuteNonQuery()
MsgBox("Account updated!!", MsgBoxStyle.Information, "Updation complete")
提姆

您对UPDATE语句使用INSERT语法。您的UPDATE语句应采用以下形式:

UPDATE tableName
SET    col1 = val1,
       col2 = val2,
       col3 = val3
WHERE  someColumn = someValue

此外,通过使用非参数化查询,您很容易受到SQL Injection攻击的影响。最后,我将使用一个Using块来确保正确关闭和处置您的连接和命令。

将所有内容放在一起看起来像这样:

Using Dim cn As SqlConnection = New SqlConnection("Data Source=NIMO-HP\SQLEXPRESS;Initial Catalog=FYP_db;Integrated Security=True")

    cn.Open()

    Dim sqlQuery As String = "UPDATE TblCustomerDetails " + _
                             "SET compName = @compName, " + _
                             "compContact = @compContact, " + _
                             "compAddress = @compAddress, " + _
                             "compFax = @compFax, " + _
                             "compEmail = @compEmail, " + _
                             "compPayterm = @compPayterm, " + _
                             "compTaxscheme = @compTaxscheme, " + _
                             "compPaymode = @compPaymode, " + _
                             "compRemarks = @compRemarks " + _
                             "WHERE compID = @compID"

    Using Dim cmd As SqlCommand = New SqlCommand(sqlQuery, cn)

        cmd.Parameters.AddWithValue("@compFax", txtCname.Text)
        cmd.Parameters.AddWithValue("@compContact", txtCpno.Text)
        cmd.Parameters.AddWithValue("@compAddress", txtCaddrs.Text)
        cmd.Parameters.AddWithValue("@compFax", txtCfax.Text)
        cmd.Parameters.AddWithValue("@compEmail", txtCemail.Text)
        cmd.Parameters.AddWithValue("@compPayterm", cmbPTerm.Text)
        cmd.Parameters.AddWithValue("@compTaxscheme", cmbTaxschm.Text)
        cmd.Parameters.AddWithValue("@compPaymode", cmbPmode.Text)
        cmd.Parameters.AddWithValue("@compRemarks", txtRemarks.Text)
        cmd.Parameters.AddWithValue("@compID", lblCID.Text)

        Dim result As Integer

        result = cmd.ExecuteNonQuery()

        If result = 1 Then
            MsgBox("Account updated!!", MsgBoxStyle.Information, _
                   "Updation complete")
        Else
            MsgBox("Account not updated!!", MsgBoxStyle.Information, _
                   "Updation not complete")
        End If
    End Using
End Using

上面的代码示例中还有一些其他注意事项:

首先,我从要更新的值列表中删除了compID。您在WHERE查询中使用了该列,因此,如果您尝试更新WHERE子句中使用的同一列,那么我认为在查询中会有有趣的结果。此外,该值的来源是Label,它告诉我不应更改。

其次,ExecuteNonQuery()返回一个int,其中包含受影响的行数。在这种情况下,它应该为1-如果不是1,请显示一个不同的消息框。

第三,cmbPTermcmbTaxxshmcmbPmode听起来像ComboBox我,你就不会得到什么,我认为你正在使用他们的期望Text属性。我想您会想要SelectedText-不知道您的ComboBox是如何绑定的就很难说。我将其留给您练习:)

第四,出于可读性考虑,我将UPDATE查询分为几行-只要查询正确,就不必这样做。

最后,我建议使用MessagBox.Show()VS MsgBox

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 VB.Net 将数据绑定文本框中的 string.empty 值更新到 MS Access 数据库中

来自分类Dev

如何从数据库获取数据并将其放在文本框中-vb.net

来自分类Dev

如何在VB.NET的文本框中显示数据库中的空值

来自分类Dev

在VB.NET中将无名文本框保存到数据库中

来自分类Dev

如果选择 Combobox vb.net mysql,则文本框中的数据库值

来自分类Dev

使用文本框更新数据库

来自分类Dev

在VB文本框中显示SQL数据库列/行

来自分类Dev

使用SQL Server数据库中的数据在文本框中自动完成

来自分类Dev

使用文本框从数据库中获取价值

来自分类Dev

使用VB.NET更新SQL数据库

来自分类Dev

使用在文本框中输入的多个关键字搜索 SQL 数据库

来自分类Dev

vb.net组合框上的填充文本框所选索引已用sql数据库更改

来自分类Dev

显示从SQL到vb.net文本框的数据

来自分类Dev

使用vb.net从Sql数据库中插入,更新和删除数据?

来自分类Dev

VB.NET如何从数据库到文本框(多行)获取行值

来自分类Dev

如何在sqlserver 2005中使用查询终止/取消数据库备份操作?

来自分类Dev

使用C#将文本框中的日期与ASP.NET中数据库中的日期进行比较

来自分类Dev

更新在 Laravel 中不起作用,如果我在数据库中使用与列名不同的文本框名称

来自分类Dev

SQL Server 2005数据库比较

来自分类Dev

SQL Server 2005数据库比较

来自分类Dev

在vb wthout datagrid视图中的文本框中搜索/查询Access数据库

来自分类Dev

如何从数据库中选择并填充在Vb上的文本框中。网

来自分类Dev

SSRS 2005中的数据库映像

来自分类Dev

如何使用AJAX或PHP在数据库中存储添加更多文本框的数据

来自分类Dev

C#文本框更新sql数据库

来自分类Dev

使用 React js 提交一些文本框到 SQL 数据库

来自分类Dev

使用PHP从数据库中预填充令牌输入文本框中的值

来自分类Dev

从数据库中获取单个记录,并使用Codeigniter在文本框中显示

来自分类Dev

使用PHP从数据库中预填充令牌输入文本框中的值

Related 相关文章

  1. 1

    使用 VB.Net 将数据绑定文本框中的 string.empty 值更新到 MS Access 数据库中

  2. 2

    如何从数据库获取数据并将其放在文本框中-vb.net

  3. 3

    如何在VB.NET的文本框中显示数据库中的空值

  4. 4

    在VB.NET中将无名文本框保存到数据库中

  5. 5

    如果选择 Combobox vb.net mysql,则文本框中的数据库值

  6. 6

    使用文本框更新数据库

  7. 7

    在VB文本框中显示SQL数据库列/行

  8. 8

    使用SQL Server数据库中的数据在文本框中自动完成

  9. 9

    使用文本框从数据库中获取价值

  10. 10

    使用VB.NET更新SQL数据库

  11. 11

    使用在文本框中输入的多个关键字搜索 SQL 数据库

  12. 12

    vb.net组合框上的填充文本框所选索引已用sql数据库更改

  13. 13

    显示从SQL到vb.net文本框的数据

  14. 14

    使用vb.net从Sql数据库中插入,更新和删除数据?

  15. 15

    VB.NET如何从数据库到文本框(多行)获取行值

  16. 16

    如何在sqlserver 2005中使用查询终止/取消数据库备份操作?

  17. 17

    使用C#将文本框中的日期与ASP.NET中数据库中的日期进行比较

  18. 18

    更新在 Laravel 中不起作用,如果我在数据库中使用与列名不同的文本框名称

  19. 19

    SQL Server 2005数据库比较

  20. 20

    SQL Server 2005数据库比较

  21. 21

    在vb wthout datagrid视图中的文本框中搜索/查询Access数据库

  22. 22

    如何从数据库中选择并填充在Vb上的文本框中。网

  23. 23

    SSRS 2005中的数据库映像

  24. 24

    如何使用AJAX或PHP在数据库中存储添加更多文本框的数据

  25. 25

    C#文本框更新sql数据库

  26. 26

    使用 React js 提交一些文本框到 SQL 数据库

  27. 27

    使用PHP从数据库中预填充令牌输入文本框中的值

  28. 28

    从数据库中获取单个记录,并使用Codeigniter在文本框中显示

  29. 29

    使用PHP从数据库中预填充令牌输入文本框中的值

热门标签

归档