问题标签 [mysql-parameter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1239 浏览

c# - 如何使用 MySqlParameter 有条件地将列设置为其默认值?

我在存储用户帐户的 MySql 数据库中有一个表。其中一列 expires 存储到期日期,但默认为 NULL。我需要能够删除到期日期并将其设置回默认值。

目前,我所有的 CRUD 例程都是使用带有参数的 MySqlCommand 编写的。这可以直接使用 MySqlParameter 完成,还是我必须创建一个备用命令对象来处理这种可能性?

0 投票
1 回答
10379 浏览

c# - C# MySqlParameter 问题

(int) faultsGroup 为 0 或 1,但我总是收到此错误:列 'FaultGroup' 不能为空

有人告诉我为什么吗?语法看起来不错。

0 投票
1 回答
769 浏览

c# - mySQL:在 C# 中使用的语法

我在 C# MYsql 中使用。如果我在 MySql Workbench 上运行,我的查询可以工作,但是在 C# 中它不返回任何值也不会给出 ant 错误。在表名 databaseName 之前我在 Mysql 上使用只有一种不同的用法.tableName ,但在 C# 中我认为没有必要。这是不返回任何内容的查询的一部分。

编辑:已解决

这里是用户单击按钮时执行的所有代码。

0 投票
8 回答
13217 浏览

c# - C# 和 MySQL .NET 连接器 - 有什么方法可以防止泛型类中的 SQL 注入攻击?

我的想法是通过 C# (3.5) Winforms 应用程序通过 MySQL .NET 连接器 6.2.2 与 MySQL 数据库对话,为插入/更新/选择创建一些通用类。

例如:

然后从程序中的任何地方,我都可以通过传递一个 SQL 查询字符串来运行一个有/没有用户输入的查询。

阅读 SO 开始让我知道这可能会导致 SQL 注入攻击(对于任何用户输入值)。是否有清理输入的 strSQL 或者我需要在每个需要执行数据库功能的方法中创建单独的参数化查询?

更新1:

我的最终解决方案如下所示:

0 投票
2 回答
2031 浏览

c# - 我可以在同一个查询中多次使用一个参数吗?

我想知道,一个参数是否可以在同一个查询中多次使用,如下所示:

这是可能的还是我应该写2个参数?

0 投票
2 回答
3000 浏览

mysql - SqlParameterCollection 只接受非空 SqlParameter 类型对象,不接受 MySqlParameter 对象

我创建了一个方法,该方法会将抛出的任何异常插入 MySql 服务器上的“ExceptionLog”表中。

异常日志表格式

idExceptionLog int (AI) 用户 (varchar 45) ErrorMessage (varchart 4000)

问题是我不断收到以下错误。有谁知道为什么?

SqlParameterCollection 只接受非空的 SqlParameter 类型对象,不接受 MySqlParameter 对象。

0 投票
1 回答
1669 浏览

.net - 用 Add() 和 AddWithValue() 添加 MySql 参数的区别

根据本文档C.7.9.6 中的 MySql。MySQL Connector/NET 5.0.5(2007 年 3 月 7 日)中的更改

添加MySqlParameterCollection.AddWithValue该方法并将其标记Add(name, value)为已过时。

我一直在使用.Add直到最近并且没有遇到任何问题。在发现该.AddWithValue方法后,它是可取的,主要是因为它涉及的语法较少。

我的问题:有谁知道这两种方法之间是否有任何功能差异?我找不到关于它们的适当文档。

编辑:

Microsoft 对 SqlParameterCollection 做了以下说明:

AddWithValue替换 SqlParameterCollection.Add采用 String 和 Object 的方法。Add不推荐使用带有字符串和对象的重载,因为带有 String 和 SqlDbType 枚举值的重载可能存在歧义, 其中SqlParameterCollection.Add通过字符串传递整数可能被解释为参数值或相应的 SqlDbType 值。AddWithValue 每当您想通过指定其名称和值来添加参数时使用。

也许是出于同样的原因。

0 投票
1 回答
2220 浏览

mysql - 如何在Mysqlcommand中使用MySQL参数数组来添加命令

我有一个 mysqlcommand 和 mysqlparameter 数组 []

现在我想为这个数组设置命令参数。我怎么能这样做?我得到了错误:

MySql.Data.MySqlClient.MySqlException:

只能存储 MySqlParameter 对象

0 投票
1 回答
3588 浏览

c# - 参数化 MySql INSERT 查询没有正确的参数值

我正在尝试使用参数化查询执行基本插入语句。我的问题是无论我使用什么语法,似乎查询都是在所有参数设置为 null 而不是它们的适当值的情况下完成的(除非我在命令文本中硬编码该值)。

这是代码:

三种不同的语法使我得到空参数的值。

ps:我见过很多人使用 command.Parameters.AddWithValue() 方法,但我似乎没有它。

亲切的问候,本

0 投票
9 回答
18404 浏览

c# - 添加列表到一个mysql参数

我对 .NET 连接器中的 MySqlParameter 有这个问题。

我有这个查询:

MySqlParameter 是:

这个有可能?是否可以将 int 数组传递给单个 MySqlParameter?另一种解决方案是将int数组转换为诸如“1,2,3,4”之类的字符串,但是,当我将它传递给MySqlParameter并且这被识别为字符串时,它会像这样放入sql查询"1\,2\,3\,4" 这不会返回预期值。

@ 更新:似乎 mysql 连接器团队应该更加努力地工作。