显示面板运行时 [英] displaying panel runtime

查看:69
本文介绍了显示面板运行时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在显示面板错误的编码中发生:-
我的代码是:-

in coding of displaying panel error occure:-
my code is:-

protected void lbcategory_SelectedIndexChanged(object sender, EventArgs e)
{

    SqlConnection sqlCon = new SqlConnection();
    sqlCon.ConnectionString = "Data Source=PC-13\\SQLEXPRESS;Initial Catalog=DbPlacementCoordinator;Integrated Security=True";
    sqlCon.Open();
    string str = lbcategory.SelectedItem.Value;
    string query = "Select Industry_ID from Industry_Category where Industry_Name=@str;";

    SqlCommand cmd3 = new SqlCommand(query, sqlCon);
    cmd3.Parameters.AddWithValue("str", str);
    int b = Convert.ToInt16(cmd3.ExecuteScalar());

    string jobcategory = "Select Job_Name from Job_Category where Industry_ID=1;";

    SqlCommand cmd4 = new SqlCommand(jobcategory,sqlCon);
    SqlDataReader reader = cmd4.ExecuteReader();
    if (reader.HasRows)
    {
        Label6.Text = Convert.ToString(reader[0]);
        Label8.Text = Convert.ToString(reader[1]);
        Label10.Text = Convert.ToString(reader[2]);
        Label12.Text = Convert.ToString(reader[3]);
        Label14.Text = Convert.ToString(reader[4]);
        Label16.Text = Convert.ToString(reader[5]);
        Label18.Text = Convert.ToString(reader[6]);
        Label20.Text = Convert.ToString(reader[7]);
        Label22.Text = Convert.ToString(reader[8]);
        Label24.Text = Convert.ToString(reader[9]);
        Label26.Text = Convert.ToString(reader[10]);
        Label28.Text = Convert.ToString(reader[11]);
        Label30.Text = Convert.ToString(reader[12]);
        Label7.Text = Convert.ToString(reader[13]);


        Panelconstruction.Visible = true;
    }



我的错误是:-当没有数据存在时无效的读取尝试....
所以我无法理解错误在哪里???? plz尝试解决它...


[edit]添加了代码块-OriginalGriff [/edit]



my error is:-Invalid attempt to read when no data is present....
so i cant understand where is error????plz try to solve it...


[edit]Code block added - OriginalGriff[/edit]

推荐答案

这很简单:
It''s pretty simple:
SELECT Job_Name FROM Job_Category WHERE Industry_ID=1

是一个SQL查询,返回的行数未知(这取决于相应行业中数据库的行数),每行只有一个列(作业名称).

Is an SQL query which returns an unknown number of rows (this depends on how many rows in your DB are in the appropriate industry), each of which has a single column (the Job Name).

Label6.Text = Convert.ToString(reader[0]);
Label8.Text = Convert.ToString(reader[1]);
Label10.Text = Convert.ToString(reader[2]);
Label12.Text = Convert.ToString(reader[3]);
Label14.Text = Convert.ToString(reader[4]);
Label16.Text = Convert.ToString(reader[5]);
Label18.Text = Convert.ToString(reader[6]);
Label20.Text = Convert.ToString(reader[7]);
Label22.Text = Convert.ToString(reader[8]);
Label24.Text = Convert.ToString(reader[9]);
Label26.Text = Convert.ToString(reader[10]);
Label28.Text = Convert.ToString(reader[11]);
Label30.Text = Convert.ToString(reader[12]);
Label7.Text = Convert.ToString(reader[13]);

这会尝试从仅包含一列的单行中读取14列.当它到达第二行时,这将引发错误.
但这并没有走太远,因为您没有从数据库中将任何行读取到SqlReader中.
使用每一行之前,您需要调用SqlReader.Read方法:

This attempts to read 14 columns from a single row which contains only one column. This will throw an error when it gets the the second line.
But it isn''t getting that far, because you are not reading any rows into the SqlReader from the DB.
You need to call the SqlReader.Read method before you use each row:

using (SqlConnection con = new SqlConnection(strConnect))
    {
    con.Open();
    using (SqlCommand com = new SqlCommand("SELECT iD, description FROM myTable", con))
        {
        using (SqlDataReader reader = com.ExecuteReader())
            {
            while (reader.Read())
                {
                int id = (int) reader["iD"];
                string desc = (string) reader["description"];
                Console.WriteLine("ID: {0}\n    {1}", iD, desc);
                }
            }
        }
    }


这篇关于显示面板运行时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆