gpt4 book ai didi

mysql - Entity Framework 存储过程 : Function Import to Complex Type, 获取列信息时出错

转载 作者:可可西里 更新时间:2023-11-01 07:45:15 26 4
gpt4 key购买 nike

我正在 VS2012 中使用 MySQL 数据库和 Entity Framework 5.0.0 开发一个项目。

当我尝试从存储过程创建新的 Complex 类型时,单击“获取列信息”按钮时出现错误:

The selected stored procedure or function returns no columns.

我的存储过程代码如下:

DROP PROCEDURE IF EXISTS SearchAlgemeenSet;

Delimiter //

CREATE PROCEDURE SearchAlgemeenSet(IN in_searchQuery VARCHAR(255))
BEGIN
SELECT Blokken, Jaargang, Werk_Uren
FROM algemeensets
WHERE Blokken LIKE in_searchQuery
OR Jaargang LIKE in_searchQuery
OR Werk_Uren LIKE in_searchQuery;
END
//

Delimiter ;

如果 in_searchQuery 参数匹配,我肯定它会返回列。

在我的研究中,我发现了很多针对 Microsoft SQL 数据库的解决方案。但是这些解决方案都不适用于 MySQL 数据库。

如何解决?

最佳答案

I'm positive that it returns columns, if the in_searchQuery parameter has a match.

因为您没有使用任何通配符进行部分搜索,除非它找到一个完全匹配项,对于 in_searchQuery 值,不会返回任何行。要进行部分匹配,您需要将通配符 '%'in_searchQuery 值一起使用。

修改后的程序,应该是这样的:

DROP PROCEDURE IF EXISTS SearchAlgemeenSet;

Delimiter //

CREATE PROCEDURE SearchAlgemeenSet(IN in_searchQuery VARCHAR(255))
BEGIN

set @search_criteria := concat( '%', in_searchQuery, '%' );

SELECT Blokken, Jaargang, Werk_Uren
FROM algemeensets
WHERE Blokken LIKE @search_criteria
OR Jaargang LIKE @search_criteria
OR Werk_Uren LIKE @search_criteria;
END;
//

Delimiter ;

当没有搜索条件找到任何匹配项时,将返回空集。
在您的脚本语言中,您必须提前检查该过程是否返回了任何结果。基于此,您可以显示未找到数据的消息,或者您可以执行其他操作。

关于mysql - Entity Framework 存储过程 : Function Import to Complex Type, 获取列信息时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16584455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com