C# Sql连接下拉列表
当我将下拉列表与两列连接在一起时,我在提取sql数据时遇到问题。我想将姓氏(lName)+名字(fName)组合起来,并提取这些名字上的数据。这是我到目前为止所拥有的C# Sql连接下拉列表,c#,asp.net,sql,C#,Asp.net,Sql,当我将下拉列表与两列连接在一起时,我在提取sql数据时遇到问题。我想将姓氏(lName)+名字(fName)组合起来,并提取这些名字上的数据。这是我到目前为止所拥有的 <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource3" DataTextField="lName" DataValueField="lName"
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
DataSourceID="SqlDataSource3" DataTextField="lName" DataValueField="lName"
AppendDataBoundItems="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Value="Select">Select</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:TestDBConnectionString1 %>"
SelectCommand="SELECT (lName + fName) AS zName FROM CoaTest"></asp:SqlDataSource>
挑选
然后我有一个包含所有数据边界的formview,它的sql连接如下所示:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:TestDBConnectionString1 %>"
DeleteCommand="DELETE FROM [CoaTest] WHERE [Id] = @Id"
SelectCommand="SELECT Id, fName, lName, agency, title, gen, hired, AppS,
course, Location, SessNum, SDate, EDate, Hours, SitUps, pushUps, rTime,
Grade FROM CoaTest WHERE (lName = @lName)"
UpdateCommand="UPDATE [CoaTest] SET [fName] = @fName, [lName] = @lName, [agency] = @agency, [title] = @title, [gen] = @gen, [hired] = @hired, [AppS] = @Apps, [course] = @course, [Location] = @Location, [SDate] = @SDate, [EDate] = @EDate, [Hours] = @Hours WHERE [Id] = @Id">
<DeleteParameters>
<asp:Parameter Name="Id" Type="Int32" />
</DeleteParameters>
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="lName"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="fName" Type="String" />
<asp:Parameter Name="lName" Type="String" />
<asp:Parameter Name="Agency" Type="String" />
<asp:Parameter Name="title" />
<asp:Parameter Name="gen" />
<asp:Parameter Name="hired" />
<asp:Parameter Name="Apps" />
<asp:Parameter Name="course" />
<asp:Parameter Name="Location" />
<asp:Parameter Name="SDate" />
<asp:Parameter Name="EDate" />
<asp:Parameter Name="Hours" />
<asp:Parameter Name="Id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
如果我只是让它按姓氏(lName)进行拉取,这是可行的,但当我尝试连接时,它不会从formview中拉取数据。提前谢谢你 我认为
DataValueField
和DataTextField
属性应该如下所示:
,因为连接的别名命名为zname no lnamedatavaluefield=“zname”
此外,您也没有在数据源查询中将lname表列投影或显示为CoaTest中的zName,将下拉列表的DataValueField值更改为
Id
,并选择数据按Id而不是按名称查看FormView您好,谢谢您的快速响应。我同意你所描述的更改,但现在它通过数字而不是姓氏/名来吸引人们。@vadim将DataTextField
更改为zName
我想我们就快到了。我现在在选择一个名称时遇到了这个错误。在将nvarchar值'BaileyJessica'转换为数据类型int时,转换失败。'Opps抱歉,我搞砸了!现在开始工作了,
@Yuriy非常感谢您的帮助!!