我得到了返回查询的存储函数。在 ASP
项目中,我得到了 GridView
,我将其绑定(bind)到 SqlDataSource
元素(它名为 SqlDataProjectWells
)。
所以,当我尝试调用它时,会出现类似这样的错误
"error while trying to execute query"
但是在 pgAdmin 中 select 命令工作得很好
页面加载时的代码调用
void bindToTable(){
SqlDataProjectWells.SelectCommand = "SELECT get_zonetable()";
SqlDataProjectWells.Select(DataSourceSelectArguments.Empty);
myGridView.DataBind();
}
存储过程代码
CREATE OR REPLACE FUNCTION get_ZoneTable()
RETURNS SETOF RECORD
AS
$$
BEGIN
return QUERY SELECT "WELLS".well_name, "ZONES".id_zones, "ZONES".top, "ZONES".botom FROM "WELLS" LEFT JOIN "ZONES" ON "WELLS".well_id = "ZONES".id_well;
/*RETURN;*/
--return result_record;
END
$$ LANGUAGE plpgsql;
怎么了?!
更新:
如果我使用存储过程——会出现这样的错误
ERROR [0A000] Error while executing the query
如果我这样使用选择
SqlDataProjectWells.SelectCommand = "SELECT \"WELLS\".well_name, \"ZONES\".id_zones, \"ZONES\".top, \"ZONES\".botom FROM \"WELLS\" LEFT JOIN \"ZONES\" ON \"WELLS\".well_id = \"ZONES\".id_well;"
它导致错误说
A field or property with the name 'id_well' was not found on the selected data source
最佳答案
您不应该在 GridView 而不是 SqlDataSource 上调用 DataBind 吗?
关于asp.net - ASP GridView 未绑定(bind)到选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22883691/