Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# dropdownlist索引映射到表索引并在C中显示给gridview_C#_Asp.net_Sql Server - Fatal编程技术网

C# dropdownlist索引映射到表索引并在C中显示给gridview

C# dropdownlist索引映射到表索引并在C中显示给gridview,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我被这个密码困住了。请帮我解决这个问题 我想做的是:我有一个dropdownlist,它有1天,2天,3天等等,我想做的是我必须把这些天映射到我的数据库,并显示给gridview 但问题是我认为我的映射有问题,当我选择第1天时,我得到一条错误消息:数据为空。无法对空值调用此方法或属性 如果我选择除1以外的任何一天,它将在gridview中显示值;但是,我希望dropdownlist索引对应的单个值与表索引匹配 这是我的密码: protected void btnSubmit_Click(

我被这个密码困住了。请帮我解决这个问题

我想做的是:我有一个dropdownlist,它有1天,2天,3天等等,我想做的是我必须把这些天映射到我的数据库,并显示给gridview

但问题是我认为我的映射有问题,当我选择第1天时,我得到一条错误消息:数据为空。无法对空值调用此方法或属性

如果我选择除1以外的任何一天,它将在gridview中显示值;但是,我希望dropdownlist索引对应的单个值与表索引匹配

这是我的密码:

    protected void btnSubmit_Click(object sender, EventArgs e)
    {

        Label1.Visible = true;
        Label2.Visible = true;
        double dbstan_minmoist = 0.0;
        double dbstan_mintemp = 0.0;
        double dbstan_sunshine = 0.0;
        double dbstan_capacity = 0.0;
        double dbcurr_minmoist = 0.0;
        double dbcurr_mintemp = 0.00;
        double dbcurr_capacity = 0.0;
        double dbcurr_sunshine = 0.0;

        if (ddl.SelectedIndex >0)
        {
            int id = Convert.ToInt32(ddl.SelectedIndex);

            int c = 1;

            SqlConnection con = new SqlConnection(@"Data Source");
            con.Open();
            var strquery = "select Min_Moisture,Min_Temperature,Sunshine,Field_Capacity from tbl_Standard_values";
            SqlCommand cmd = new SqlCommand(strquery, con);
            SqlDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                if (c== id)
                {
                    dbstan_mintemp = dr.GetDouble(dr.GetOrdinal("Min_Temperature"));
                    dbstan_minmoist = dr.GetDouble(dr.GetOrdinal("Min_Moisture"));
                    dbstan_sunshine = dr.GetDouble(dr.GetOrdinal("Sunshine"));
                    dbstan_capacity = dr.GetDouble(dr.GetOrdinal("Field_Capacity"));
                    break;

                }


                else
                {
                   c=c+1;

                }



            }
            SqlConnection con1 = new SqlConnection(@"Data Source=");
            con1.Open();
            var strquery1 = "select distinct Min_Moisture,Mim_Temperature,Sunshine,Field_Capacity from tbl_Cornels_Development";
            SqlCommand cmd1 = new SqlCommand(strquery1, con1);

            int d = 1;

            SqlDataReader dr1 = cmd1.ExecuteReader();

            while (dr1.Read())
            {

                if (d == id)
                {
                    dbcurr_mintemp = dr1.GetDouble(dr1.GetOrdinal("Mim_Temperature"));
                    dbcurr_minmoist = dr1.GetDouble(dr1.GetOrdinal("Min_Moisture"));
                    dbcurr_sunshine = dr1.GetDouble(dr1.GetOrdinal("Sunshine"));
                    dbcurr_capacity = dr1.GetDouble(dr1.GetOrdinal("Field_Capacity"));
                    break;

                }
                else
                {
                   d=d+1;
                }
            }
            //first case
            if ((dbcurr_mintemp < dbstan_mintemp) && (dbcurr_minmoist < dbstan_minmoist) && (dbcurr_capacity < dbstan_capacity) && (dbcurr_sunshine < dbstan_sunshine))
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('LightIrrigation');", true);

            }
            //second case
            else if ((dbcurr_mintemp < dbstan_mintemp) && (dbcurr_minmoist < dbstan_minmoist) && (dbcurr_capacity < dbstan_capacity) && (dbcurr_sunshine > dbstan_sunshine))
            {
                ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('LightIrrigation');", true);

            }
        GridView1.DataSource = dr;
            GridView1.DataBind();
            GridView2.DataSource = dr1;
            GridView2.DataBind();

            con.Close();
        }

        else
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Please select a day');", true);
        }
    }
}

我发现很难理解问题和代码,但经过一些阅读,我认为您的问题可能是以下几行:

var strquery1 = "select distinct Min_Moisture,Mim_Temperature,Sunshine,Field_Capacity from tbl_Cornels_Development";
...
dbcurr_mintemp = dr1.GetDouble(dr1.GetOrdinal("Mim_Temperature"));
应改为:

var strquery1 = "select distinct Min_Moisture,Min_Temperature,Sunshine,Field_Capacity from tbl_Cornels_Development";
...
dbcurr_mintemp = dr1.GetDouble(dr1.GetOrdinal("Min_Temperature"));

也就是说,您使用的是Mim而不是Min。

谢谢您的回复!!但这不是问题。becoz Mim_temprature是不同表的列名。哪行代码引发异常/错误?你能发布完整的异常/错误吗?