[英]Npgsql.PostgresException: relation "tablename" does not exist'
[英]C# vs SQLEditor — Npgsql.PostgresException 42703: column “username” does not exist
因此,在C#中的后台代码中,我有一个Select语句:
Select username from vw_members where username = 'SomeValue'
但这会在我的aspx页面上返回此错误:列“用户名”不存在
如果我在pgAdmin SQLEditor中运行同一条语句,则不会有问题
如果我在我的背后代码上运行以下代码:
Select username from tbl_users where username = 'SomeValue'
运行良好。
该视图是与用户表和成员表的联接。 这是我的C#代码:
string selectstmt = "Select UserName from vw_members where UserName = 'SomeValue'";
我在pgAdmin中的视图如下所示:
SELECT tbl_member.usertype AS "usertype",
tbl_member.userid AS "userid",
tbl_member.createdate AS "createdate",
tbl_member.lastlogindate AS "lastlogindate",
tbl_member.email AS "email",
tbl_users.userid AS "usersid",
tbl_users.username AS "username",
tbl_users.lastactivitydate AS "lastactivitydate"
FROM tbl_users,
tbl_member
WHERE tbl_users.userid = tbl_member.userid;
建议我看看是否启用了区分大小写的列排序规则 ,事实证明它已启用。 从那里,我确保所有列名称在相同情况下都匹配,然后一切正常。
尝试在您的视图中使用显式联接:
SELECT tbl_member.usertype AS "usertype",
tbl_member.userid AS "userid",
tbl_member.createdate AS "createdate",
tbl_member.lastlogindate AS "lastlogindate",
tbl_member.email AS "email",
tbl_users.userid AS "usersid",
tbl_users.username AS "username",
tbl_users.lastactivitydate AS "lastactivitydate"
FROM tbl_users LEFT OUTER JOIN tbl_member
ON tbl_users.userid = tbl_member.userid
可能没有任何区别,但是可以尝试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.