使用 Visual Studio 或 Visual Basic 在 xampp 中更新 MySQL 数据库

     2023-02-25     197

关键词:

【中文标题】使用 Visual Studio 或 Visual Basic 在 xampp 中更新 MySQL 数据库【英文标题】:Updating MySQL database in xampp using Visual Studio or Visual Basic 【发布时间】:2019-10-05 11:06:10 【问题描述】:

我尝试了我能做的一切——我是编程的初学者。我想使用 VB 或 Visual Studio 在 xampp 中更新我的数据库,但似乎做不到。

这是我的表单代码。:

Imports MySql.Data.MySqlClient
Public Class Form4
    Public MysqlConn As MySqlConnection
    Public cmd As New MySqlCommand
    Public da As New MySqlDataAdapter
    Public Sub MysqlConnection()
        MysqlConn = New MySqlConnection()

        'Connection String
        MysqlConn.ConnectionString = "server=localhost;" _
        & "user id=root;" _
        & "password=;" _
        & "database=bank"

        'OPENING THE MysqlConnNECTION
        MysqlConn.Open()

    End Sub
    Public Sub add()
        Dim sql As String
        Dim TempTable As New DataTable

        sql = "update cbank set Balance = Balance +  " & TextBox2.Text & "where AccountID = " & TextBox1.Text & "and PIN = " & TextBox3.Text & ";"
        'bind the connection and query
        With cmd
            .Connection = MysqlConn
            .CommandText = sql
        End With
        da.SelectCommand = cmd

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MysqlConnection()
        add()

    End Sub

End Class

没有错误只是没有输出也没有

【问题讨论】:

我在您的问题中看不到与 xampp 的连接。它看起来像在 vb.net 代码中使用的纯 ADO.net。 Vb.net 是编程语言。 Visual Studio 是一个集成开发环境 (IDE),您可以在其中使用多种不同的语言进行编码。 【参考方案1】:

将数据对象保留在本地,以便确保它们已关闭和处置。即使出现错误,Using...End Using 块也能确保这一点。您可以将连接字符串设置为表单级变量,这样您就可以在任何地方使用它,但这是您需要的唯一表单级变量。

您可以将连接字符串直接传递给连接的构造函数。

您可以将您的 sql 命令文本和连接直接传递给命令的构造函数。

请始终使用参数。它不仅可以使您避免使用错误的引号,还可以帮助确保将正确的数据类型发送到数据库。最重要的是它有助于保护您的数据库免受可能破坏您的数据库的 sql 注入。我不得不猜测您数据库中的数据类型。检查数据库并相应地调整代码。

Private ConnString As String = "server=localhost;user id=root;password=;database=bank"
Private Sub add()
    Using cn As New MySqlConnection(ConnString)
        Using cmd As New MySqlCommand("update cbank set Balance = Balance + @Balance where AccountID = @ID and PIN = @PIN;", cn)
            cmd.Parameters.Add("@Balance", MySqlDbType.Decimal).Value = CDec(TextBox2.Text)
            cmd.Parameters.Add("@ID", MySqlDbType.Int32).Value = CInt(TextBox1.Text)
            cmd.Parameters.Add("@PIN", MySqlDbType.Int32).Value = CInt(TextBox3.Text)
            cn.Open()
            cmd.ExecuteNonQuery()
        End Using
    End Using
End Sub

【讨论】:

哇,非常感谢这解决了我的问题,所以我认为发生的事情是我没有使用参数,我的代码上发生了什么之前是有 sql 注入并且语言不明白我的命令是什么为什么它没有更新但现在它正在工作......从现在开始以供将来使用 imma 继续使用参数来执行 sql 命令继续前进 tnx 以获得帮助【参考方案2】:

行情问题。

Imports MySql.Data.MySqlClient
Public Class Form4
    Public MysqlConn As MySqlConnection
    Public cmd As New MySqlCommand
    Public da As New MySqlDataAdapter
    Public Sub MysqlConnection()
        MysqlConn = New MySqlConnection()

        'Connection String
        MysqlConn.ConnectionString = "server=localhost;" _
        & "user id=root;" _
        & "password=;" _
        & "database=bank"

        'OPENING THE MysqlConnNECTION
        MysqlConn.Open()

    End Sub
    Public Sub add()
        Dim sql As String
        Dim TempTable As New DataTable

        sql = "update cbank set Balance = Balance +  " & TextBox2.Text & "where AccountID = " & TextBox1.Text & "and PIN = " & TextBox3.Text & ";"
        bind the connection and query
        With cmd
            .Connection = MysqlConn
            .CommandText = sql
        End With
        da.SelectCommand = cmd

    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Me.Hide()
        Form2.Show()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MysqlConnection()
        add()

    End Sub

    Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
End Class

【讨论】:

永远不要鼓励新用户连接 SQL 语句。始终使用参数。你有 Sql 注入的风险。

使用 Visual Studio 或 Visual Basic 在 xampp 中更新 MySQL 数据库

】使用VisualStudio或VisualBasic在xampp中更新MySQL数据库【英文标题】:UpdatingMySQLdatabaseinxamppusingVisualStudioorVisualBasic【发布时间】:2019-10-0511:06:10【问题描述】:我尝试了我能做的一切——我是编程的初学者。我想使用VB或VisualStudio在... 查看详情

如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点

...【发布时间】:2011-01-1603:12:43【问题描述】:我正在尝试使用VisualStudio2010调试JavaScript代码,但我无法设置断点。我该怎么做?我刚刚注意到一些事情, 查看详情

使用 Visual Studio 2012 创建 MSI 或设置项目

】使用VisualStudio2012创建MSI或设置项目【英文标题】:CreateMSIorsetupprojectwithVisualStudio2012【发布时间】:2012-09-0421:07:25【问题描述】:我创建了一个小型应用程序,我想创建一个MSI文件。在VisualStudio2010中,您有以下项目类型:其他... 查看详情

使用 Visual Studio 或 Resharper 用区域包装所有方法和属性

】使用VisualStudio或Resharper用区域包装所有方法和属性【英文标题】:WrapallmethodsandpropertieswithregionswithVisualStudioorResharper【发布时间】:2017-09-1820:01:29【问题描述】:有谁知道用区域单独包装类的所有属性和方法的快速方法?区域... 查看详情

在 Visual Assist 或 Vanilla Visual Studio 中切换枚举的自动完成功能

...Studio【发布时间】:2014-09-1709:20:06【问题描述】:是否有使用VisualAssist或VanillaVisualStudio扩展枚举所有值的开关?包含的片段只需插入一个带有默认条目的基本开关。我正 查看详情

使用语句 FileStream 和/或 StreamReader - Visual Studio 2012 警告

】使用语句FileStream和/或StreamReader-VisualStudio2012警告【英文标题】:usingstatementFileStreamand/orStreamReader-VisualStudio2012Warnings【发布时间】:2012-08-1313:38:21【问题描述】:新的VisualStudio2012抱怨我一直使用的常见代码组合。我知道这看起... 查看详情

使用语句 FileStream 和/或 StreamReader - Visual Studio 2012 警告

】使用语句FileStream和/或StreamReader-VisualStudio2012警告【英文标题】:usingstatementFileStreamand/orStreamReader-VisualStudio2012Warnings【发布时间】:2012-08-1705:15:13【问题描述】:新的VisualStudio2012抱怨我一直使用的常见代码组合。我知道这看起... 查看详情

如何在 Android Studio 或 Visual Studio Code 中找到未使用的颤振类

】如何在AndroidStudio或VisualStudioCode中找到未使用的颤振类【英文标题】:HowtofindunusedflutterclassesinAndroidStudioorVisualStudioCode【发布时间】:2020-06-0303:39:21【问题描述】:由于客户端应用需求的快速变化,我有近200个dart文件,其中许... 查看详情

如何在 Visual Studio 2008 中打开使用 Visual Studio 2005 创建的 rdl?

】如何在VisualStudio2008中打开使用VisualStudio2005创建的rdl?【英文标题】:HowtoopenrdlCreatedwithVisualStudio2005,inVisualStudio2008?【发布时间】:2016-11-1509:17:44【问题描述】:我需要打开在VisualStudio2005中创建的s-s-rS报告。要包含HTML渲染,我... 查看详情

如何使用 Visual Studio(和/或 ReSharper)从类字段生成构造函数?

】如何使用VisualStudio(和/或ReSharper)从类字段生成构造函数?【英文标题】:HowdoIgenerateaconstructorfromclassfieldsusingVisualStudio(and/orReSharper)?【发布时间】:2011-02-2721:57:39【问题描述】:我已经习惯了许多JavaIDE(Eclipse、NetBeans和Intell... 查看详情

使用部分类和设计器文件将 Visual Studio 2003 表单转换为 Visual Studio 2005/2008 表单

】使用部分类和设计器文件将VisualStudio2003表单转换为VisualStudio2005/2008表单【英文标题】:ConvertVisualStudio2003formstoVisualStudio2005/2008formsusingpartialclassesandDesignerfiles【发布时间】:2011-01-1121:06:30【问题描述】:将我的VisualStudio2003项目... 查看详情

使用 Visual Studio 2012 时 SignTool.exe 或“Windows Kits”目录的路径

】使用VisualStudio2012时SignTool.exe或“WindowsKits”目录的路径【英文标题】:PathtoSignTool.exeor"WindowsKits"directorywhenusingVisualStudio2012【发布时间】:2012-12-2913:13:06【问题描述】:使用VisualStudio2012时如何获取SignTool.exe的路径?在Vis... 查看详情

Visual Studio 2010 - 如何使用系统环境变量?

】VisualStudio2010-如何使用系统环境变量?【英文标题】:VisualStudio2010-HowtouseSystemEnvironmentVariables?【发布时间】:2011-04-2602:53:52【问题描述】:对于一个非常令人沮丧的问题,我非常感谢一些帮助或想法。根据我的经验,似乎任何... 查看详情

使用 Visual Studio 进行测验

】使用VisualStudio进行测验【英文标题】:QuizusingVisualStudio【发布时间】:2022-01-1914:36:50【问题描述】:我想用VisualStudio做一个关于我的小测验。我的目标是每个问题有10个问题和4个选择。我尝试堆叠按钮,然后在不同时间更改10... 查看详情

通过 Visual Studio 使用 Boost 构建没有选择正确的 VS 版本或静态链接库

】通过VisualStudio使用Boost构建没有选择正确的VS版本或静态链接库【英文标题】:BuildingwithBoostthroughVisualStudioisnotpickingthecorrectVSversionorstaticallylinkedlibs【发布时间】:2009-05-1501:19:50【问题描述】:#include<boost/regex.hpp>intmain(void)r... 查看详情

使用 Visual Studio 2017 或 2019 编译 node-gyp C++ 插件

】使用VisualStudio2017或2019编译node-gypC++插件【英文标题】:Compilenode-gypC++addonwithVisualStudio2017or2019【发布时间】:2020-12-1502:53:10【问题描述】:我正在尝试从https://github.com/nodejs/node-addon-examples/tree/master/1_hello_world/node-addon-api使 查看详情

Visual Studio 设计器无法加载文件或程序集

...leorassembly【发布时间】:2015-08-0412:04:39【问题描述】:我使用VisualC++2010express(win32)创建了一个dll。然后将文件移动到可视C#2010express(X86)应用程序的bin目录(调试或发布)中,因为我想从该程序集中调用一个函数:publicMy 查看详情

Visual Studio 2008 性能配置文件插件或工具

...置分析器,但它测量该方法从应用程序开始到结束的整个使用百分比。我有一个根方法。我需要知道从根调用的其他方法执行了多长 查看详情