【问题标题】:Dropdown list from MS-SQL and second valueMS-SQL 和第二个值的下拉列表
【发布时间】:2014-04-15 09:51:46
【问题描述】:

我找到了这段代码,我稍微重写了它。我希望当我从下拉列表中选择订单值时,在下面的文本中显示客户。 不得不说,我的VB编程经验很少,所以卡在这里。

代码:

<%@ Page Language="VB" Debug="True" Strict="True"  %>
<%@ Import Namespace="System.Data.Odbc" %>
<%@ Import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>

<font face="calibri">
<script runat="server">
Dim connStr As String = "server=MSSQLEXP;database=ppwin1;Uid=sa_ro;pwd=sa_ro"

Sub Userlist_Init(ByVal Sender As Object, ByVal E As EventArgs)
Dim conn As New SqlConnection(connStr)
   conn.Open()
   Dim sql_user As String
   Dim cmd_user As Sqlcommand
    sql_User = "SELECT DISTINCT order, customer FROM dbo.T_CUSTOMER ORDER BY order ASC"
cmd_user = New Sqlcommand (sql_user, conn)
finduser.Datasource=cmd_user.ExecuteReader()
  finduser.datatextfield = "customer"
  finduser.databind()
conn.Close()
End Sub

Sub Finduser_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
txtuser.text = finduser.selecteditem.text
End sub

</script>
<html><head><title>Dropdown list from MS SQL DB</title></head>
<body><h1>Dropdown list from MS SQL DB</h1>
<br>
<form runat="server">
<asp:DropDownList ID="finduser" runat="server" AutoPostBack = "true"  OnSelectedIndexChanged="Finduser_SelectedIndexChanged" OnInit="userlist_Init">
</asp:DropDownList>
<asp:Label id="txtuser" runat="server" />
</form>
</body>
</html>

韩国

【问题讨论】:

  • 有什么问题..?请清楚说明您的问题,以便其他人有更多机会帮助您..

标签: asp.net sql-server vb.net drop-down-menu


【解决方案1】:

不是这个

finduser.Datasource = cmd_user.ExecuteReader()
finduser.datatextfield = "customer"
finduser.databind()

你试过了吗?

Dim dr As SqlClient.SqlDataReader = cmd_user.ExecuteReader
finduser.Items.Clear()
While dr.Read() 
   finduser.Items.Add(new ListItem(dr("customer"),dr("order"))
End While

Dim dr As SqlClient.SqlDataReader
dr = cmd_user.ExecuteReader
Dim myData as New DataTable
If dr.HasRows Then
    myData.Load(dr)
End If

ddldept.datasource = myData
ddldept.DataTextField = "customer"
ddldept.DataValueField = "order"
ddldept.DataBind()

【讨论】:

  • 嗨。感谢您的回答。我试过你的第二个版本,但我得到一个错误:编译器错误消息:BC30367:类'System.Data.DataTable'不能被索引,因为它没有默认属性。
  • 我已进行了建议的更改,但我仍然收到错误:说明:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。编译器错误消息:BC30456:“selectedtext”不是“System.Web.UI.WebControls.DropDownList”的成员。第 32 行:txtuser.text = ddldept.selectedtext
  • 下拉列表中没有名为“SelectedText”的属性,因此您会收到此错误。您的“txtuser.text = finduser.selecteditem.text”代码应该适用于我答案的第二部分。如果您使用我的第一部分,您可能需要将“finduser.selecteditem”类型转换为“ListItem”并获取它的“Text”属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
相关资源
最近更新 更多