c# - 在.cs和 GridView 中构造参数查询SQL - LIKE %

标签 c# asp.net sql gridview parameters

我正在尝试实现管理员登录和运算符(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/

相关文章:

c# - 拆分连接字符串

c# - 如何在 SelectedIndexChanged 事件之前检测 TabControl 中标签页的变化?

c# - "The Controls collection cannot be modified because the control contains code blocks"

sql - 带有 EntityFramework Core 的 Postgres 中的原始 SQL

SQL 队列将在 2 周内获得工作负载 [SQL Server]

c# - 如何使用 ASP.NET 在负载平衡服务器上存储和检索上传的图像?

asp.net - 增量或按需 sitemap.xml

asp.net - 亚特实验室 CI : how to load vars from JSON file

python - 无法使用python scrapy框架在postgre中插入日期

c# - .Net 4.0 框架和 4.5 框架之间的区别?