mysql - 如何通过查询生成器向导创建的vb.net适配器将参数传递给mysql函数

标签 mysql vb.net mysql-function

我有这个查询:

 SELECT * FROM table_1 WHERE (`update_column` = (DATE_SUB(curdate(), INTERVAL 10 DAY)))

它正常工作,我想更改 10 天参数并通过适配器传递它的值,我正在使用查询生成器,在适配器中进行查询:

FillBy_sub_date

我想成为这样的人:

 SELECT * FROM table_1 WHERE (`update_column` = (DATE_SUB(curdate(), INTERVAL @_days DAY)))

我想用以下方法传递日期值:

  Me.table_1Adapter.FillBy_sub_date(Me.dataset.table_1, 5) 

5 是我不会传递给查询的天数

问题:当我将数字 10 更改为 @_days 时,mysql 错误显示

Error in list of function arguments: '_days' not recognized. Unable to parse query text.

image

最佳答案

方法不止一种, 首先使用参数在 mysql 数据库中创建过程 我们称之为“return_after_some_days” 您的查询是正确的,因此请将其放入过程中

  1. 创建过程

    CREATE PROCEDURE return_after_some_day (in param1 INT)
    BEGIN
    SELECT * FROM `table` where `update_column` = (DATE_SUB(curdate(), INTERVAL param1 day  ));
    

    结束;

  2. 然后转到构建器向导并向表适配器添加查询

  3. 选择使用现有存储过程
  4. 从列表中选择您的程序名称,即 (return_after_some_days)
  5. 选择表格日期并设置填充方法名称
  6. 进入您的代码并从数据适配器调用您的方法名称,例如

Me.table_1Adapter.name_of_method_that_call_procedure(Me.dataset.table_1, 5)

数字5将被传递给proceuder

关于mysql - 如何通过查询生成器向导创建的vb.net适配器将参数传递给mysql函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57948207/

相关文章:

php - 存储用户 ID 列表的最佳方法

.net - vb.net 按顺序停靠两个控件

vb.net - (另一个).net Excel 僵尸问题

sql-server - SQL Server 2005 数据类型和 VB.NET

mysql - 如何在具有特定别名的表上正确选择 MySql 函数值?

MySQL 错误, "Not allowed to return a result set from a function"?

mysql - 错误 #1241 在 Mysql Workbench 中操作数应包含 1 列

mysql - 发送什么信息让别人访问我的 mysql 数据库?

mysql - 查询总是返回所有数据

sql - 基于单个表连接 2 个表