我在asp.net網頁中有一個下拉列表DDL1
,它是與特定數據庫中所有表的「產品」列的數據綁定。現在我的問題是,如果我從DDL1
中選擇一個產品名稱,那麼具有該產品名稱的客戶應綁定另一個DDL2
的下拉列表。我每個客戶都有桌子。我正在根據列的名稱獲取客戶名稱,但我希望根據列值創建客戶名稱。查詢/存儲過程和代碼是什麼? (Asp.Net,Sql-2014,C#)。如何根據列值獲取表名?
回答
如果我理解正確的,你有7臺用類似這樣的模式:
Sno int,
Product varchar,
Picture varchar
首先您需要用所有可能的產品的名稱一個DropDownList。 然後你選擇這個DropDownList的一個項目,例如:'Pen',你需要知道哪些表有一個Product ='Pen'。
一個可能的解決方案是構建一個函數,它過濾每個表並填充第二個DropDownList。
string [] table_name = {"Table1","Table2",...};
private void FillSecondDDL(string product_name)
{
DDL2.Items.Clear();
foreach(string tname in table_name)
{
if (HasThisProduct(tname, product_name)
{
DDL2.Items.Add(tname);
}
}
}
private bool HasThisProduct(string table_name, string product_name)
{
string cmd = string.Format("select Sno from {0} where Product='{1}'"
, table_name
, product_name);
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataTable table;
SqlDataAdapter adapter = new SqlDataAdapter();
adp.SelectCommand = new SqlCommand(cmd, connection);
adp.Fill(table);
return table.Rows.Count > 0 ? true : false;
}
}
只是給你一個主意。
我有具有相同列名的7個表(AG)(Sno,Product,Picture)。當頁面加載的DDL1包含來自所有表格的「產品」值時,當我從DDL1中選擇一個值時,那麼在具有該產品的A-G表格中應該出現DDL2,沒有該產品的人員不應該進入DDL2。我想檢索表名,我需要爲此查詢/ StoredProcedure。 –
我很抱歉,但我真的不明白你想做什麼。你能重新表達這個問題嗎? – McNets
我在數據庫中有7個不同的表格(A-G)。每個表具有相同的列名(Sno,Product,Picture)。當我的頁面加載時,將只有一個DDL1和所有表(A-G)中的「產品」名稱。還有一些常見的產品名稱。 EX。產品「筆」可能包含表B,表C,表F.當我在DDL1中選擇「筆」時,我想用表名B,C,F來數據綁定我的DDL2。怎麼可能。我想要一個查詢檢索表名,基於列值而不是列名。 –
有很多不同的方法來實現這一點。這裏是一個:
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="Title" DataValueField="Id" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="True">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource2" DataTextField="Name" DataValueField="Id" AutoPostBack="True">
</asp:DropDownList>
</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="[YOUR CONNECTION STRING]" ProviderName="System.Data.SqlClient" SelectCommand="SELECT [Id], [Title] FROM [Products]"></asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="[YOUR CONNECTION STRING]" ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM [Customers] WHERE ([ProductId] = @ProductId)">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="ProductId" PropertyName="SelectedValue" Type="Int32" DefaultValue="1" />
</SelectParameters>
</asp:SqlDataSource>
</form>
</body>
你所需要的唯一的C#代碼是這樣的:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
this.DropDownList2.DataBind();
}
- 1. 根據列名和值獲取表名稱
- 2. 根據列獲取排名
- 3. 如何根據jQuery數據表的列名獲取一行的單元格值?
- 4. 如何根據onchange事件的序列ID名稱獲取值?
- 5. 如何根據值獲取列名?不可能?
- 6. 根據另一列值獲取列值
- 7. 如何根據模式名稱獲取SharePoint用戶列表
- 8. 如何根據遊戲獲取匿名Live Stream列表
- 9. 根據列名從另一個表中獲取默認值
- 10. 如何根據列表中的值獲取作爲字典值的列表?
- 11. 根據列名獲取SQL列索引
- 12. 根據列名獲取數據
- 13. 如何根據多列的特定值獲取列的COUNT值?
- 14. 根據另一列的值獲取值
- 15. 數據列表如何獲取所選名稱而不是值
- 16. (Oracle)如何根據其他列中的值獲取SUM值?
- 17. 如何獲取值列表?
- 18. 如何獲取表列值?
- 19. SSRS - 如何按列名獲取列值
- 20. 如何根據文本獲取列號
- 21. 根據行值獲取列的總和
- 22. 如何根據名稱獲取數組的值?
- 23. 如何根據jquery中的值獲取文本框名稱
- 24. 如何根據數值獲取數字的名稱?
- 25. 如何根據JavaScript中的值獲取JSON字段的名稱?
- 26. 如何根據選定的值獲取數據以獲取excel?
- 27. 如何根據ASP.net中的列名獲取ListItem?
- 28. 根據選定的下拉列表值重新獲取數據
- 29. 根據域名獲取Cookie
- 30. 根據列名計算值
顯示你的表在這裏可以幫助回答你的問題。 – bogzy
我有7個表(A-G)具有相同的列名稱(Sno,Product,Picture)。當頁面加載的DDL1包含來自所有表格的「產品」值時,當我從DDL1中選擇一個值時,那麼在具有該產品的A-G表格中應該出現DDL2,沒有該產品的人員不應該進入DDL2。我想檢索表名,我需要爲此查詢/ StoredProcedure。 –
我在數據庫中有7個不同的表格(A-G)。每個表具有相同的列名(Sno,Product,Picture)。當我的頁面加載時,將只有一個DDL1和所有表(A-G)中的「產品」名稱。還有一些常見的產品名稱。 EX。產品「筆」可能包含表B,表C,表F.當我在DDL1中選擇「筆」時,我想用表名B,C,F來數據綁定我的DDL2。怎麼可能。我想要一個查詢檢索表名,基於列值而不是列名。 –