我正在尝试实现管理员登录和运算符(operator)(印度、澳大利亚、美国)登录,现在运算符(operator) ID 以“IND123”“AUS123”和“AM123”开头
当运算符(operator) india 登录时,他只能看到 ID 为“IND%”的成员(member)的详细信息,这同样适用于澳大利亚和美国用户
当管理员登录时,他可以查看 ID 为“IND%”或“AUS%”或“AM%”的成员的详细信息
我有一个表定义了角色,即管理员或运算符(operator)及其前缀(分别为 IND、AUS)
在登录页面中,我为角色和前缀创建了一个 session
PREFIX = myReader["Prefix"].ToString();
Session["LoginRole"] = myReader["Role"].ToString();
Session["LoginPrefix"] = String.Concat(PREFIX + "%");
工作正常
在主页(登录后)我必须计算成员(member)数量,所以我写了
string prefix = Session["LoginPrefix"].ToString();
string role = Session["LoginRole"].ToString();
if (role.Equals("ADMIN"))
StrMemberId = "select count(*) from MemberList";
else
StrMemberId = "select count(*) from MemberList where MemberID like '"+prefix+"'";
这也很好用。
问题: 我想要构造函数参数如下:
StrMemberId = "select count(*) from MemberList where MemberID like '@prefix+'";
myCommd.Parameters.AddWithValue("@prefix", prefix);
哪个不起作用
在 gridview 中显示成员,我需要给出条件(类似于 if (role.Equals("ADMIN")) 显示所有成员,否则根据运算符(operator)前缀显示成员)运算符(operator)模式和管理模式下的成员列表。
在gridview中放置条件的位置
如何应用这些
请提出一些建议 问候
英地兰
最佳答案
您需要按如下方式构建查询:
"select count(*) from MemberList where MemberID like @prefix"
然后
cmd.Parameters.AddWithValue("@prefix", prefix + "%")
关于c# - 在.cs和 GridView 中构造参数查询SQL - LIKE %,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2863389/