coudy_ 2016-03-02 09:38 采纳率: 100%
浏览 2504
已采纳

MySql参数化查询结果为空

背景是要做一个查询用户和用户权限的用户中心,使用Mysql数据库。
查询其他表都OK,唯独权限表通过代码查询后结果为空。

先上表结构和代码:

表结构
CREATE TABLE Permission (
PermissionID varchar(3) ,
PermissionName varchar(100) ,
CreateDate datetime ,
CreateUserID char(6) ,
UpdateDate datetime ,
UpdateUserID char(6) ,
ValidFlag int(1)
)

代码

 private const string SQL_GetPermissionInfo = @"
                  SELECT 
                        PermissionID 
                       ,PermissionName 
                       ,CreateDate 
                       ,CreateUserID 
                       ,UpdateDate 
                       ,UpdateUserID 
                       ,ValidFlag 
                   FROM
                        Permission
                   WHERE
                        1=1 ";
    public static DBResponse GetPermissionInfo(DBRequest dbRequest, string PermissionID)
        {
            StringBuilder sqlStr = new StringBuilder();
            sqlStr.Append(SQL_GetPermissionInfo);
            MySqlParameter[] paras = null;
            if (!string.IsNullOrEmpty(PermissionID))
            {
                paras = new MySqlParameter[]{
                    new MySqlParameter("@PermissionID ",PermissionID )
                };
                sqlStr.Append(" and PermissionID  = @PermissionID ");
            }
            return ExecuteDataset(dbRequest, sqlStr.ToString(), paras);
        }

1、跟@ 和 ? 没有关系,这个已经实际测试过
2、连接串上有加Allow User Variables=True,不加会报错(Fatal error encountered during command execution.)

有人怀疑是表的问题,可实在不知道问题出在什么地方
希望有高手帮忙解决
感谢

  • 写回答

2条回答

  • coudy_ 2016-03-10 01:42
    关注

    问题已经解决,参数化的过程中,担当作业的人多写了一个空格
    new MySqlParameter(**"@PermissionID "**,PermissionID )

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn