背景是要做一個查詢用戶和用戶權限的用戶中心,使用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 )