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



我有这个查询:

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 更改为显示 mysql 错误@_days时

函数参数列表中出现错误:"_days"无法识别。 无法分析查询文本。

图像

还有不止一种方式, 首先使用参数在 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  ));
    

    end;

  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

相关内容

  • 没有找到相关文章

最新更新