关于一些存储过程

时间:2010-11-29 04:50:24

标签: c# asp.net sql-server

我有两张桌子: -

TableName - 问题

QuesID|Ques|QuesAns|QuesTypeID|Active

TableName - QuesType

QuesTypeID|QuesType|Active

现在,当我在我的代码中添加一个新问题时,它首先要求QuesType然后是Ques,最后是Answer。我想要的是那个 当在DB中添加新记录时,Ques表中的QuesTypeID列应该根据QuesType TAble中的值QuesTypeID进行设置。 比如让我们说QuesType用户选择的是“一般问题”,这种类型“General Ques”在QuesType表中将QuesTypeID作为1。 现在我想要的是,当选择新记录时,在Ques Table中将列QuesTypeID设置为1。 我需要在以下SP中做出哪些更改?

ALTER PROC [Admin].[sp_InsertUpdateQues]
(
        @QuesID bigint,
        @Ques nvarchar(1000)=null,
        @QuesAns nvarchar(2000)=null,
        @QuesTypeID bigint=null,
        @Active bit=null
)
AS
BEGIN

        END
END

1 个答案:

答案 0 :(得分:1)

阅读您的问题和评论我认为您可能会对调用存储过程的实际代码感到困惑。

  1. 编写的SP接收QuesTypeId,因此不需要对其进行任何更改,而是需要确保调用代码知道如何从QuesType获取QuesTypeId

  2. 现在,这将我们带到Telerik ComboBox。每个ComboBox项都有两个属性,text和value。这两个属性可以具有相同或不同的值。 text属性显示给用户,value属性是发送到数据库的属性。因此,您可以将text属性设置为QuesType,将值设置为QuesTypeId,这就是QuesTypeId的设置方式。

  3. Telerik documentation页面中的以下链接显示了如何使用以下方法获取所选ComboBox项目的文本和值属性:

    radMenuComboItem1.ComboBoxElement.SelectedText radMenuComboItem1.ComboBoxElement.SelectedValue