程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> mysql-MySql參數化查詢結果為空

mysql-MySql參數化查詢結果為空

編輯:編程解疑
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.)

有人懷疑是表的問題,可實在不知道問題出在什麼地方
希望有高手幫忙解決
感謝

最佳回答:


問題已經解決,參數化的過程中,擔當作業的人多寫了一個空格
new MySqlParameter(**"@PermissionID "**,PermissionID )

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved