Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取和显示数据库上的表_C#_Asp.net - Fatal编程技术网

C# 获取和显示数据库上的表

C# 获取和显示数据库上的表,c#,asp.net,C#,Asp.net,我刚从asp.NETC开始,我被分配了一项任务,根据下拉列表中的给定值生成可用的医生 我有3个下拉列表,1省区、2城市、3专业化和一个搜索按钮。 用户选择3个下拉列表的值并点击搜索按钮后,将打印一个包含可用医生的表格 我知道钥匙在搜索按钮上,但我不知道该在搜索按钮下放什么。你能帮帮我吗 这是我的密码: protected void Page_Load(object sender, EventArgs e) { System.Threading.Thread.

我刚从asp.NETC开始,我被分配了一项任务,根据下拉列表中的给定值生成可用的医生

我有3个下拉列表,1省区、2城市、3专业化和一个搜索按钮。 用户选择3个下拉列表的值并点击搜索按钮后,将打印一个包含可用医生的表格

我知道钥匙在搜索按钮上,但我不知道该在搜索按钮下放什么。你能帮帮我吗

这是我的密码:

       protected void Page_Load(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);

        if (!IsPostBack)
        {
            string constring = ConfigurationManager.ConnectionStrings["AccreString"].ConnectionString;
            SqlConnection conn = new SqlConnection(constring);
            DataTable dt = new DataTable("emed_province");

            using (conn)
            {
                conn.Open();
                SqlCommand comm = new SqlCommand("SELECT *  FROM emed_province ORDER BY PROVINCE_NAME ASC", conn);
                SqlDataAdapter adptr = new SqlDataAdapter(comm);
                adptr.Fill(dt);
            }

            ddlProvince.DataSource = dt;
            ddlProvince.DataTextField = "PROVINCE_NAME";
            ddlProvince.DataValueField = "PROVINCE_CODE";
            ddlProvince.DataBind();
        }
    }

    protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);

        string constring = ConfigurationManager.ConnectionStrings["AccreString"].ConnectionString;
        SqlConnection conn = new SqlConnection(constring);
        DataTable dt = new DataTable("emed_province");

        using (conn)
        {
            conn.Open();
            SqlCommand comm = new SqlCommand("SELECT * FROM emed_city WHERE PROVINCE_CODE =@pcode", conn);
            comm.Parameters.AddWithValue("@pcode", ddlProvince.SelectedValue);
            SqlDataAdapter adptr = new SqlDataAdapter(comm);
            adptr.Fill(dt);

            SqlParameter param = new SqlParameter();
            param.ParameterName = "@pcode";
            param.Value = ddlProvince;

            comm.Parameters.Add(param);
        }
        ddlCity.DataSource = dt;
        ddlCity.DataTextField = "CITY_NAME";
        ddlCity.DataValueField = "CITY_CODE";
        ddlCity.DataBind();
    }

    protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);

        string constring = ConfigurationManager.ConnectionStrings["AccreString"].ConnectionString;
        SqlConnection conn = new SqlConnection(constring);
        DataTable dt = new DataTable("emed_city");

        using (conn)
        {
            conn.Open();
            SqlCommand comm = new SqlCommand("select distinct emed_accredited_providers.SPECIALIZATION from emed_accredited_providers inner join emed_doctors_hospitals on emed_accredited_providers.DOCTOR_CODE = emed_doctors_hospitals.DOCTOR_CODE where CITY_CODE =@ccode", conn);
            comm.Parameters.AddWithValue("@ccode", ddlCity.SelectedValue);
            SqlDataAdapter adptr = new SqlDataAdapter(comm);
            adptr.Fill(dt);

            SqlParameter param = new SqlParameter();
            param.ParameterName = "@ccode";
            param.Value = ddlCity;

            comm.Parameters.Add(param);
        }
        ddlSpec.DataSource = dt;
        ddlSpec.DataTextField = "SPECIALIZATION";
        ddlSpec.DataValueField = "SPECIALIZATION";
        ddlSpec.DataBind();
    }

    protected void btnDocs_Click(object sender, EventArgs e)
    {

    }
}
}
从下拉列表中获取选定的值 将所选值传递给搜索函数。这取决于您的逻辑,我的意思是,如果用户只从一个下拉列表中选择值,从两个下拉列表中选择值,您的搜索查询可能会有所不同。 从搜索函数中获取返回值,并将其绑定到表格网格视图 还可以看看

要绑定gridview,可以执行类似的操作

private void BindGrid ()
{ 

        var dt = new DataTable();
        var connection = new SqlConnection(YOUR CONNECTION); 

        try
        {
          connection.Open();
          var query = "YOUR SEARCH QUERY";
          var sqlCmd = new SqlCommand(query, connection);
          var sqlDa = new SqlDataAdapter(sqlCmd);
          sqlDa.Fill(dt);

              if (dt.Rows.Count > 0)
              {
                GridView1.DataSource = dt;
                GridView1.DataBind();
              }
        }
        catch (System.Data.SqlClient.SqlException ex)
        {
                //
        }
        finally
        {
            connection.Close();
        }
}

//修改表名或字段名。

谢谢,我知道了逻辑。但是你能给我一行关于绑定和gridview的示例代码吗?我的意思是,query=query。。它说,“查询”名称在当前上下文中不存在我已更新代码再次检查。。。第一行..string query=string.Empty;如果有帮助,别忘了给我投票。
string query = string.Empty;

 if (ddlProvince.SelectedIndex != -1)
                {
                    query = query + " and PROVINCE_CODE=" + ddlProvince.SelectedValue;
                }

                if (ddlCity.SelectedIndex != -1)
                {
                    query = query + " and CITY_CODE=" + ddlProvince.SelectedValue;
                }

                if (ddlSpec.SelectedIndex != -1)
                {
                    query = query + " and SPECIALIZATION=" + ddlProvince.SelectedValue;
                }


                string tQuery = "Select * from Doc";
                if (query.Length > 0)
                {
                    query = query.Remove(0, 4);
                    tQuery = tQuery + query;
                }
                // Exeucate -- tQuery