列名称无效 Menu_mkey
Invalid column name Menu_mkey
通过代码调试时,出现错误
Invalid column name Menu_mkey
这是代码
string strsqlflag = "select count(*) from WMS_User_Rights where User_Id='" + Hid_Selected_user.Value + "' and delete_flag='N' ";
if (Dt.Rows[e.Row.RowIndex]["child_menu_mkey"].ToString() == "0")
{
strsqlflag += " and MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["MKEY"] + "'";
}
else
{
strsqlflag += " and MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["child_menu_mkey"] + "'";
}
生成了以下查询
select count(*) from WMS_User_Rights where User_Id='1' and delete_flag='N' and MENU_MKEY = '1'
现在,我也想要 Menu_mkey
,但问题是它来自另一个 table,它来自 table WMS_menu_rights
如何实现?
旁注:- 我正在使用 SQL-server 2005
使用 SQL Joins 到 link 查询中的那些 table。
例如:
string strsqlflag = "select count(*) from WMS_User_Rights Inner join WMS_Menu_Rights on WMS_User_Rights.somefield=WMS_Menu_Rights.somefield where WMS_User_Rights.User_Id='" + Hid_Selected_user.Value + "' and WMS_User_Rights.delete_flag='N' ";
if (Dt.Rows[e.Row.RowIndex]["child_menu_mkey"].ToString() == "0")
{
strsqlflag += " and WMS_Menu_Rights.MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["MKEY"] + "'";
}
else
{
strsqlflag += " and WMS_Menu_Rights.MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["child_menu_mkey"] + "'";
}
此处 somefield
在查询中 strsqlflag
表示在两个 table 中共有的任何字段。
您必须为此编写一个 INNER JOIN
查询:
select count(*) from WMS_User_Rights INNER JOIN WMS_menu_rights on WMS_menu_rights.someField = WMS_User_Rights.someField where User_Id='1' and delete_flag='N' and MENU_MKEY = '1'
通过代码调试时,出现错误
Invalid column name Menu_mkey
这是代码
string strsqlflag = "select count(*) from WMS_User_Rights where User_Id='" + Hid_Selected_user.Value + "' and delete_flag='N' ";
if (Dt.Rows[e.Row.RowIndex]["child_menu_mkey"].ToString() == "0")
{
strsqlflag += " and MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["MKEY"] + "'";
}
else
{
strsqlflag += " and MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["child_menu_mkey"] + "'";
}
生成了以下查询
select count(*) from WMS_User_Rights where User_Id='1' and delete_flag='N' and MENU_MKEY = '1'
现在,我也想要 Menu_mkey
,但问题是它来自另一个 table,它来自 table WMS_menu_rights
如何实现?
旁注:- 我正在使用 SQL-server 2005
使用 SQL Joins 到 link 查询中的那些 table。
例如:
string strsqlflag = "select count(*) from WMS_User_Rights Inner join WMS_Menu_Rights on WMS_User_Rights.somefield=WMS_Menu_Rights.somefield where WMS_User_Rights.User_Id='" + Hid_Selected_user.Value + "' and WMS_User_Rights.delete_flag='N' ";
if (Dt.Rows[e.Row.RowIndex]["child_menu_mkey"].ToString() == "0")
{
strsqlflag += " and WMS_Menu_Rights.MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["MKEY"] + "'";
}
else
{
strsqlflag += " and WMS_Menu_Rights.MENU_MKEY = '" + Dt.Rows[e.Row.RowIndex]["child_menu_mkey"] + "'";
}
此处 somefield
在查询中 strsqlflag
表示在两个 table 中共有的任何字段。
您必须为此编写一个 INNER JOIN
查询:
select count(*) from WMS_User_Rights INNER JOIN WMS_menu_rights on WMS_menu_rights.someField = WMS_User_Rights.someField where User_Id='1' and delete_flag='N' and MENU_MKEY = '1'