2
문제 : 목록 항목을 추가 할 때 값 필드가 텍스트 필드로 설정됩니다. 처음에는 문제가 OUTPUT 변수로 구성되었으므로 기본 키 (group_type_id)에 대한 입력 매개 변수와 관련되었지만ListBox - 텍스트 필드로 설정되는 값
충분히 흥미 롭습니다. 모든 값을 볼 때 모든 것이 정확합니다. 그래서 예를 들어, 나는이를 볼 수 있습니다 :
항목 그러나 생성ddr["group_type_name"] comes out as "Dept"
ddr["grouptypeid"] comes out as 4
,
itms.TEXT = "Dept"
itms.Value = "Dept" <-- THIS IS THE PROBLEM
내가 목록 상자 값이 텍스트 값 때 설정되는 이유 손실에 있어요 데이터 판독기 값이 올바른지 분명히 알 수 있습니다. ? 여기
코드 샘플 :
DbDataReader ddr = grp.GetGroupTypeList(grp);
if (ddr.HasRows)
{
ListItem itm = new ListItem();
itm.Text = "Select Group";
itm.Value = "0";
lb.Items.Add(itm);
while (ddr.Read())
{
ListItem itms = new ListItem(ddr["group_type_name"] as string, ddr["grouptypeid"] as string);
}
lb.SelectedValue = lbSelected;
}
절차 : 그것은 거의 확실하게 문제의 원인이되는 as string
의
ALTER PROCEDURE [dbo].[asp_Group_Type]
@driver char(1)='I',
@group_type_id int=null OUTPUT,
@group_type_name varchar(50)=null,
@par_group_id int=null,
@active bit
AS
DECLARE @SQL varchar(8000)
DECLARE @boolWhere varchar(10)
SET @boolWhere = ' WHERE '
SET NOCOUNT ON
IF (@driver = 'I')
BEGIN
INSERT INTO [dbo].[group_type]
([group_type_name],
[Par_Group_Id])
VALUES
(RTRIM(LTRIM(@group_type_name)),
@par_group_id)
SELECT @group_type_id = SCOPE_IDENTITY()
END
IF (@driver = 'U')
BEGIN
UPDATE [dbo].[group_type]
SET [group_type_name] = RTRIM(LTRIM(@group_type_name))
,[Par_Group_Id] = @par_group_id
WHERE [group_type_id] = @group_type_id
END
IF (@driver = 'S')
BEGIN
SET @SQL = ' SELECT [group_type_id] AS [grouptypeid], [group_type_id], [group_type_name],[Par_Group_Id] FROM [dbo].[group_type] '
IF (@group_type_id > 0)
BEGIN
SET @SQL = @SQL + @boolWhere + '[group_type_id] = ''' + CAST(@group_type_id AS VARCHAR) + ''''
SET @boolWhere = ' AND '
END
IF (@active > 0)
BEGIN
SET @SQL = @SQL + @boolWhere + ' [active] = ''' + CAST(@active AS VARCHAR) + ''''
END
SET @SQL = @SQL + ' ORDER BY [group_type_name] '
PRINT(@SQL)
EXEC(@SQL)
END
그게 효과가 있었어! 감사. – ericm
그런 다음 내 대답을 귀하의 질문에 답변 한 것으로 표시하십시오. –