关于Jqgrid和Sql Helpaer类。我想使用Jqgrid显示搜索员工详细信息 [英] Regarding Jqgrid And Sql Helpaer Class . I Want To Display Search Employee Details Using A Jqgrid

查看:96
本文介绍了关于Jqgrid和Sql Helpaer类。我想使用Jqgrid显示搜索员工详细信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在jqGrid工作。

我收到异常无法将参数值从SqlParameter转换为String。





请你能帮我这个





CS Page

 私人用户SrchUser = 用户() ; 
受保护 void Page_Load( object sender,EventArgs e)
{
if (!Page.IsPostBack)
{

< span class =code-keyword> if ((!string.IsNullOrEmpty(Request.QueryString [ empid]))) // && (!string.IsNullOrEmpty(Request.QueryString [UM_FirstName])))
{
SrchUser.EmployeeNo = Request.QueryString [ empid]。ToString();
SrchUser.FirstName = ; / / Request.QueryString [UM_FirstName]。ToString();
TCSRR.DMTController.Users SrchContrlrObj = new TCSRR.DMTController.Users();
Response.Write(SrchContrlrObj.SearchEmp(SrchUser));
}
}



CONTROLER代码

  public   string  SearchEmp(User SrchUser)
{
尝试
{
TCSRR.DMTModel.UserData SrchUserData = new TCSRR.DMTModel.UserData();
return SrchUserData.SearchEmpData(SrchUser);
}
catch (例外情况)
{
// lstUser.Label = ex.Message;

}
return string .Empty;
}





型号代码

<前lang =c#> public String SearchEmpData(User SearchData)
{
DataSet ds;
string retVal = string .Empty;
尝试
{
SqlParameter [] arParms = new SqlParameter [ 2 ];
arParms [ 0 ] = new SqlParameter( @ UM_Employee_Number,(SearchData.EmployeeNo));
arParms [ 1 ] = new SqlParameter( @ UM_FirstName,(SearchData.FirstName));
// arParms [1] .Direction = ParameterDirection.Output;

retVal = SqlHelper.ExecuteJSONDataSet(FileManager.GetSettingsValue( DBConnection), spmt_SearchBoxEmpDetails,arParms);
// ds = SqlHelper.ExecuteDataset(FileManager.GetSettingsValue(DBConnection),spmt_SearchEmployee,arParms );

if (!string.IsNullOrEmpty(retVal.Trim())&& retVal.Trim() .IndexOf( 错误< = 0
{
retVal.ToJSON();
}
}
catch (例外情况)
{
ex.CustomException( USRSR_001 MODEL:用户搜索结果失败。);
}
return retVal;
}





SQL QRUERY



  ALTER   PROCEDURE  [dbo]。[spmt_SearchEmployee] 
@ UM_Employee_Number NVARCHAR 15 ),
@ UM_FirstName NVARCHAR 30 )= ' '
AS
BEGIN
- SET NOCOUNT ON已添加到阻止额外的结果集
- 干扰SELECT语句。
SET NOCOUNT ON < /跨度>;
声明 @ SQL AS NVARCHAR (MAX)
SET @ SQL = ' '
- 在此插入程序的语句
SET @SQL = ' SELECT UM_Employee_Number,UM_FirstName'
SET @ SQL = @ SQL + FROM User_Master'
SET @ SQL = @ SQL + '
WHERE UM_Employee_Number LIKE''%' + @ UM_Employee_Number + ' %'''

IF RTRIM(LTRIM( @ UM_FirstName ))!= ' '
BEGIN
SET @ SQL = @ SQL + ' 或UM_FirstName LIKE''%' + @ UM_FirstName + ' %'''
END

< span class =code-keyword> EXEC ( @ SQL );

END



JSON代码



 $(  #jqgEmpSearch)。 jqGrid({
url: Servicelibrary / employeesearch.aspx?empid = + $( [id * = txtSrchEmpID])。val()+
数据类型: json
colNames:[' EmpNum'' EmpName'], // < span class =code-comment> UM_Employee_Number UM_FirstName
colModel:[{name:' UM_Employee_Number',width:' 150'},{name:' UM_FirstName',width:' 150'}] ,
rowNum: 5
sortname:' EmpNum'
viewrecords: true
caption: 员工搜索结果
});

解决方案

#jqgEmpSearch)。jqGrid({
url: Servicelibrary / employeesearch.aspx?empid = +


[id * = txtSrchEmpID])。val()+
数据类型: json
colNames:[' EmpNum'' EmpName'], // UM_Employee_Number UM_FirstName
colModel:[{name:' UM_Employee_Number',width:' 150'},{name:' UM_FirstName',width:' 150'}],
rowNum: 5
sortname:' EmpNum'
viewrecords: true
标题: 员工搜索结果
});


Hi I'm, working in jqGrid.
I'm getting an Exception "Failed to convert parameter value from a SqlParameter to a String."


please could you please help me on this


CS Page

private User SrchUser = new User();
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {

        if ((!string.IsNullOrEmpty(Request.QueryString["empid"])))// && (!string.IsNullOrEmpty(Request.QueryString["UM_FirstName"])))
        {
            SrchUser.EmployeeNo = Request.QueryString["empid"].ToString();
            SrchUser.FirstName = " ";//Request.QueryString["UM_FirstName"].ToString();
            TCSRR.DMTController.Users SrchContrlrObj = new TCSRR.DMTController.Users();
            Response.Write(SrchContrlrObj.SearchEmp(SrchUser));
        }
    }


CONTROLER Code

public string SearchEmp(User SrchUser)
{
    try
    {
        TCSRR.DMTModel.UserData SrchUserData = new TCSRR.DMTModel.UserData();
        return SrchUserData.SearchEmpData(SrchUser);
    }
    catch (Exception ex)
    {
        // lstUser.Label = ex.Message;

    }
    return string.Empty;
}



MODEL Code

public String SearchEmpData(User SearchData)
       {
           DataSet ds;
           string retVal = string.Empty;
           try
           {
               SqlParameter[] arParms = new SqlParameter[2];
               arParms[0] = new SqlParameter("@UM_Employee_Number", (SearchData.EmployeeNo));
               arParms[1] = new SqlParameter("@UM_FirstName", (SearchData.FirstName));
               //arParms[1].Direction = ParameterDirection.Output;

               retVal = SqlHelper.ExecuteJSONDataSet(FileManager.GetSettingsValue("DBConnection"), "spmt_SearchBoxEmpDetails", arParms);
               //ds = SqlHelper.ExecuteDataset(FileManager.GetSettingsValue("DBConnection"), "spmt_SearchEmployee", arParms);

               if (!string.IsNullOrEmpty(retVal.Trim()) && retVal.Trim().IndexOf("Error")<=0 )
               {
                   retVal.ToJSON();
               }
           }
           catch (Exception ex)
           {
               ex.CustomException("USRSR_001", "MODEL : User Search Result failed.");
           }
           return retVal;
       }



SQL QRUERY

ALTER PROCEDURE [dbo].[spmt_SearchEmployee]
@UM_Employee_Number NVARCHAR(15),
@UM_FirstName NVARCHAR(30)=''
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	Declare @SQL AS NVARCHAR(MAX)
	SET @SQL = ''
    -- Insert statements for procedure here
	SET @SQL = 'SELECT UM_Employee_Number , UM_FirstName'
	SET @SQL = @SQL + ' FROM User_Master'
	SET @SQL = @SQL + ' WHERE UM_Employee_Number LIKE ''%' + @UM_Employee_Number + '%'''
	
	IF RTRIM(LTRIM(@UM_FirstName)) != ''
		BEGIN
			SET @SQL = @SQL + ' OR UM_FirstName LIKE ''%' + @UM_FirstName + '%'''
		END

	EXEC(@SQL);
	
	END


JSON code

$("#jqgEmpSearch").jqGrid({
   url:"Servicelibrary/employeesearch.aspx?empid="+$("[id*=txtSrchEmpID]").val()+"",
   datatype:"json",
   colNames:['EmpNum','EmpName'], // UM_Employee_Number UM_FirstName
   colModel:[{name:'UM_Employee_Number',width:'150'},{name:'UM_FirstName',width:'150'}],
   rowNum:5,
   sortname:'EmpNum',
   viewrecords:true,
   caption:"Employee Search Result"
});

解决方案

("#jqgEmpSearch").jqGrid({ url:"Servicelibrary/employeesearch.aspx?empid="+


("[id*=txtSrchEmpID]").val()+"", datatype:"json", colNames:['EmpNum','EmpName'], // UM_Employee_Number UM_FirstName colModel:[{name:'UM_Employee_Number',width:'150'},{name:'UM_FirstName',width:'150'}], rowNum:5, sortname:'EmpNum', viewrecords:true, caption:"Employee Search Result" });


这篇关于关于Jqgrid和Sql Helpaer类。我想使用Jqgrid显示搜索员工详细信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆