DDL(可能であればgridviewに表示される)を選択した値を返すDDL(SELECT name FROM sys.databases(nolock))を取得します。DropDownListを使用してデータベースに接続する方法
問題は、ユーザーがDDLから選択したものに応じて異なるデータベースに接続し、gridviewに表示される値を返す必要があることです。私は以下のクエリのようなものが欲しい:
私はこれをどのように達成することができますか?
use ([name][email protected]) select sum(t.table1.column1) as Total from database inner join database2 on db1.table1.id= ([name][email protected]).table2.id where([appname][email protected]) and Date <= GetDate()AND YEAR(Date) = year(GetDate())
私は(これが最善の方法であるかどうかわからない。)これまでにこれを得た。これは、背後に私のコードで、どのように私は、DDLに依存しているのGridViewを使用して結果を表示していますか?
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
{
if (DropDownList2.SelectedValue == "test1")
{
SqlDataSource3.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["test1ConnectionString"].ConnectionString;
{
SqlDataSource3.SelectCommandType = SqlDataSourceCommandType.Text;
SqlDataSource3.SelectCommand = "select top 10 * from table1 (nolock)";
}
}
else if (DropDownList2.SelectedValue == "test2")
{
SqlDataSource4.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["test2ConnectionString"].ConnectionString;
{
SqlDataSource4.SelectCommandType = SqlDataSourceCommandType.Text;
SqlDataSource4.SelectCommand = "select top 1 * from table1 (nolock)";
}
}
以下は、私のDDLのaspxコードです。
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
<asp:ListItem>test1</asp:ListItem>
<asp:ListItem>test2</asp:ListItem>
</asp:DropDownList>
はい、これは私が何をしたいのかのように聞こえます。すべてのパラメータを適切に使用してSQLクエリを正しく呼び出す方法を研究します。 –
素晴らしいあなたの問題を解決する場合は、その答えを受け入れてください。ありがとう。 –
私はそれに取り組むことができますが、私はボットのプログラマー/ devです。私はそれを働かせることができるかどうかを調べるためにこれを研究しなければならないでしょう。 –