2つのDropdownListと1つのGridViewを作成しました
1番目のDropdownListは、データベース名を動的にロードおよび表示します
2番目のドロップダウンリストは、1番目のドロップダウンリストで選択したデータベース名に基づいて、テーブル名をロードおよび表示します
テーブル名に基づいて、データはGridViewに表示される必要があります.......。
データベース名を表示して正常に動作するコードを作成しました
private void populateDatabasename() {
SqlConnection con = new SqlConnection(@"Data Source=SAI- PC\SQLEXPRESS;Integrated Security=True");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select name,collation_name from sys.databases order by name", con);
DataSet ds = new DataSet();
da.Fill(ds, "dbname");
DropDownList1.DataSource = ds.Tables["dbname"];
DropDownList1.DataTextField = "name";
DropDownList1.DataValueField = "name";
DropDownList1.DataBind();
}
データベース名に基づいてテーブルを表示する必要があります.....次のコードでデータベース名(最初のドロップダウンリストで選択されているもの)を渡す方法.....これはデータベース名を渡す正しい方法です
private void populateTableName() {
SqlConnection con = new SqlConnection(@"Data Source=SAI-PC\SQLEXPRESS;Integrated Security=True");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select name from "+"@Dbname"+".sys.tables", con);
da.SelectCommand.Parameters.Add("@dbname", SqlDbType.VarChar);
da.SelectCommand.Parameters["@dbname"].Value = DropDownList1.SelectedValue;
DataSet ds = new DataSet();
da.Fill(ds, "dbname1");
DropDownList2.DataSource = ds.Tables["dbname1"];
DropDownList2.DataTextField = "name";
DropDownList2.DataValueField = "name";
DropDownList2.DataBind();
}