Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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# 如何存储从SqlDataReader返回的结果?_C#_Asp.net_Sql Server_Visual Studio - Fatal编程技术网

C# 如何存储从SqlDataReader返回的结果?

C# 如何存储从SqlDataReader返回的结果?,c#,asp.net,sql-server,visual-studio,C#,Asp.net,Sql Server,Visual Studio,正如我的问题所表明的,我是一名新手,我正在使用datareader查找与某个subId值关联的行。我使用了while(dr.read)循环,并在每种情况下将switch case语句与其他读取器嵌套在一起(下面的代码),但我抛出了异常“已经有一个与此命令关联的打开的数据读取器,必须首先关闭”。是否有方法将第一个数据读取器(subId=x的相关行)的结果存储在数组或列表中,然后在我输入switch语句之前关闭读卡器?(我理解数组是什么,我认为它可以工作,但我不知道语法是什么样的) 而是加载一个,它

正如我的问题所表明的,我是一名新手,我正在使用datareader查找与某个subId值关联的行。我使用了while(dr.read)循环,并在每种情况下将switch case语句与其他读取器嵌套在一起(下面的代码),但我抛出了异常“已经有一个与此命令关联的打开的数据读取器,必须首先关闭”。是否有方法将第一个数据读取器(subId=x的相关行)的结果存储在数组或列表中,然后在我输入switch语句之前关闭读卡器?(我理解数组是什么,我认为它可以工作,但我不知道语法是什么样的)

而是加载一个,它在内部是一个持久化的数据读取器

对于您使用、使用、丢弃的数据读取器。这就是数据阅读器的本质。如果希望数据挂起,可以使用DataTable。简单,但这是一个很好的经验法则。

请改为加载一个,它在内部是一个持久化的数据读取器


对于您使用、使用、丢弃的数据读取器。这就是数据阅读器的本质。如果希望数据挂起,可以使用DataTable。简单,但这是一个很好的经验法则。

将其加载到
数据表中

SqlDataReader pubdr = pubcmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(pubdr);
要扩展评论,请执行以下操作:

foreach (DataRow dr in dt.Rows)
{
    LblEplShowEntity.Text = dr["FIELDNAME"].ToString();
    //...
}

将其加载到
数据表中

SqlDataReader pubdr = pubcmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(pubdr);
要扩展评论,请执行以下操作:

foreach (DataRow dr in dt.Rows)
{
    LblEplShowEntity.Text = dr["FIELDNAME"].ToString();
    //...
}

假设SubmissionId在表SubmissionProducts中是唯一的,则不需要使用数据读取器进行查询。您可以改为使用命令对象的方法

如果要从DataReader获取当前行中所有COLLMN值的数组,可以使用以下方法:

    SqlDataReader reader; // assumming the data reader is already opened 
    object[] columns = new object[reader.FieldCount];
    reader.GetValues(columns);// columns now contains all the values from the curent row

假设SubmissionId在表SubmissionProducts中是唯一的,则不需要使用数据读取器进行查询。您可以改为使用命令对象的方法

如果要从DataReader获取当前行中所有COLLMN值的数组,可以使用以下方法:

    SqlDataReader reader; // assumming the data reader is already opened 
    object[] columns = new object[reader.FieldCount];
    reader.GetValues(columns);// columns now contains all the values from the curent row

我发现我必须调整连接字符串中的某些内容。我不知道这是否是一个.Net故障,也不知道这是否只是使用嵌套读卡器时的一个必要调整,但我必须将
MultipleActiveResultSets=“true”
添加到存储的连接字符串中。之后,一切都正常工作,不需要数据表。非常感谢所有回答的人。虽然我相信上面的答案也可能有用,但如果这个问题对将来的某个人有任何用处,我会发布完整的代码来说明什么对我有用。警告:如果你对编码还不够了解,需要这篇文章,请参数化你的查询。这个网站是一个培训项目,在那里我被指示为了先学习其他东西而避免参数化,但这是最重要的。博比·泰尔斯

这是密码

using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class View : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        string x = Request.QueryString["SubmissionId"];
        string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
        string editCustQuery = "SELECT CustName, SicNaic, CustCity, CustAdd, CustState, CustZip FROM Customer WHERE SubId =" + x;
        string editBroQuery = "SELECT BroName, BroAdd, BroCity, BroState, BroZip, EntityType FROM Broker WHERE SubId =" + x; 
        string editSubQuery = "SELECT Coverage, CurrentCoverage, PrimEx, Retention, EffectiveDate, Commission, Premium, Comments FROM Submission WHERE SubmissionId =" + x;
        string epl = "SELECT Entity, Employees, CA, MI, NY, NJ, Primex, EplLim, EplSir, Premium, Wage, Sublim FROM EPL WHERE SubmissionId =" + x;
        string prof = "SELECT Primex, EO, Limit, Retention, Att, Prem, Sublim, Entity FROM ProfessionalEO WHERE SubmissionId =" + x;
        string crim = "SELECT Entity, Employees, PrimEx, LimA, DedA, PremA, LimitB, DedB, PremB FROM CrimeFidelity WHERE SubmissionId =" + x;
        string fid = "SELECT Entity, PrimEx, Limit, SIR, Att, Premium, Sublim FROM Fiduciary WHERE SubmissionId =" + x;
        string not = "SELECT PrimEx, Coverage, SharedSepLim, TradLim, TradDoSir, EplLim, EplSir, EplPrem, EplSublim FROM NotProfit WHERE SubmissionId =" + x;
        string priv = "SELECT Primex, SharedSepLim, TradLim, TradAtt, TradDoSir, TradPrem, EplLim, EplSir, EplAtt, EplWage, EplPrem, EplInvest, FidLim, FidSir, FidAtt, FidPrem, FidSublim FROM PrivateCompany WHERE SubmissionId =" + x;
        string pub = "SELECT Market, Ticker, TradABC, DIC, Limit, SecuritiesSir, OtherSir, Premium, PrimEx, Att, Sublim FROM PublicDO WHERE SubmissionId =" + x;
        using (SqlConnection editConn = new SqlConnection(connectionString))
        {
            editConn.Open();

            using (SqlCommand CustCommand = new SqlCommand(editCustQuery, editConn))
            {

                SqlDataReader dr = CustCommand.ExecuteReader();
                dr.Read();
                LblCustName.Text = dr.GetString(0);
                LblSicNaic.Text = dr.GetString(1);
                LblCustCity.Text = dr.GetString(2);
                LblCustAddress.Text = dr.GetString(3);
                LblCustState.Text = dr.GetString(4);
                LblCustZip.Text = dr.GetInt32(5).ToString();
                dr.Close();
            }
            using (SqlCommand BroCommand = new SqlCommand(editBroQuery, editConn))
            {
                SqlDataReader dr = BroCommand.ExecuteReader();
                dr.Read();
                LblBroName.Text = dr.GetString(0);
                LblBroAddress.Text = dr.GetString(1);
                LblBroCity.Text = dr.GetString(2);
                LblBroState.Text = dr.GetString(3);
                LblBroZip.Text = dr.GetInt32(4).ToString();
                LblEntity.Text = dr.GetString(5);
                dr.Close();
            }
            using (SqlCommand SubCommand = new SqlCommand(editSubQuery, editConn))
            {
                SqlDataReader dr = SubCommand.ExecuteReader();
                dr.Read();
                LblCoverage.Text = dr.GetInt32(0).ToString();
                LblCurrentCoverage.Text = dr.GetInt32(1).ToString();
                LblPrimEx.Text = dr.GetInt32(2).ToString();
                LblRetention.Text = dr.GetInt32(3).ToString();
                LblEffectDate.Text = dr.GetDateTime(4).ToString();
                LblCommission.Text = dr.GetInt32(5).ToString();
                LblPremium.Text = dr.GetInt32(6).ToString();
                LblComments.Text = dr.GetString(7);
                dr.Close();
                HyperLink1.NavigateUrl = "~/ViewEdit.aspx?SubmissionId=" + x;
            }
                string viewQuery = "SELECT ProductId FROM SubmissionProducts WHERE SubmissionId =" + x;

                SqlCommand viewcmd = new SqlCommand(viewQuery, editConn);

                SqlDataReader drRows = viewcmd.ExecuteReader();
                while (drRows.Read())
                    {
                        switch (drRows.GetInt32(0))
                        {
                            case 1:
                                PanelEplShow.Visible = true;
                                using (SqlCommand eplviewcmd = new SqlCommand(epl, editConn))
                                {
                                    SqlDataReader epldr = eplviewcmd.ExecuteReader();
                                    epldr.Read();
                                    LblEplShowEntity.Text = epldr.GetString(0);
                                    LblEplShowTotalEmpl.Text = epldr.GetInt32(1).ToString();
                                    LblEplShowCalEmpl.Text = epldr.GetInt32(2).ToString();
                                    LblEplShowMichEmpl.Text = epldr.GetInt32(3).ToString();
                                    LblEplShowNyEmpl.Text = epldr.GetInt32(4).ToString();
                                    LblEplShowNjEmpl.Text = epldr.GetInt32(5).ToString();
                                    LblEplShowPrimEx.Text = epldr.GetInt32(6).ToString();
                                    LblEplShowLim.Text = epldr.GetInt32(7).ToString();
                                    LblEplShowSir.Text = epldr.GetInt32(8).ToString();
                                    LblEplShowPrem.Text = epldr.GetInt32(9).ToString();
                                    LblEplShowWage.Text = epldr.GetInt32(10).ToString();
                                    LblEplShowInvestCost.Text = epldr.GetInt32(11).ToString();
                                    epldr.Close();
                                }
                                break;
                            case 2:
                                PanelProfShow.Visible = true;
                                using (SqlCommand profcmd = new SqlCommand(prof, editConn))
                                {
                                    SqlDataReader profdr = profcmd.ExecuteReader();
                                    profdr.Read();
                                    LblProfShowPrimEx.Text = profdr.GetInt32(0).ToString();
                                    LblProfShowType.Text = profdr.GetString(1);
                                    LblProfShowLim.Text = profdr.GetInt32(2).ToString();
                                    LblProfShowRetention.Text = profdr.GetInt32(3).ToString();
                                    LblProfShowAtt.Text = profdr.GetInt32(4).ToString();
                                    LblProfShowPrem.Text = profdr.GetInt32(5).ToString();
                                    LblProfShowSublim.Text = profdr.GetInt32(6).ToString();
                                    LblProfShowEntity.Text = profdr.GetString(7);
                                    profdr.Close();
                                }
                                break;
                            case 3:
                                PanelCrimeShow.Visible = true;
                                using (SqlCommand crimcmd = new SqlCommand(crim, editConn))
                                {
                                    SqlDataReader crimdr = crimcmd.ExecuteReader();
                                    crimdr.Read();
                                    LblCrimeShowEntity.Text = crimdr.GetString(0);
                                    LblCrimeShowEmpl.Text = crimdr.GetInt32(1).ToString();
                                    LblCrimeShowPrimEx.Text = crimdr.GetInt32(2).ToString();
                                    LblCrimeShowLimA.Text = crimdr.GetInt32(3).ToString();
                                    LblCrimeShowDedA.Text = crimdr.GetInt32(4).ToString();
                                    LblCrimeShowPremA.Text = crimdr.GetInt32(5).ToString();
                                    LblCrimeShowLimB.Text = crimdr.GetInt32(6).ToString();
                                    LblCrimeShowDedB.Text = crimdr.GetInt32(7).ToString();
                                    LblCrimeShowPremB.Text = crimdr.GetInt32(8).ToString();
                                    crimdr.Close();
                                }
                                break;
                            case 4:
                                PanelFidShow.Visible = true;
                                using (SqlCommand fidcmd = new SqlCommand(fid, editConn))
                                {
                                    SqlDataReader fiddr = fidcmd.ExecuteReader();
                                    fiddr.Read();
                                    LblFidShowEntity.Text = fiddr.GetString(0);
                                    LblFidShowPrimEx.Text = fiddr.GetInt32(1).ToString();
                                    LblFidShowLim.Text = fiddr.GetInt32(2).ToString();
                                    LblFidShowSir.Text = fiddr.GetInt32(3).ToString();
                                    LblFidShowAtt.Text = fiddr.GetInt32(4).ToString();
                                    LblFidShowPrem.Text = fiddr.GetInt32(5).ToString();
                                    LblFidShowSublim.Text = fiddr.GetInt32(6).ToString();
                                    fiddr.Close();
                                }
                                break;
                            case 5:
                                PanelNotShow.Visible = true;
                                using (SqlCommand notcmd = new SqlCommand(not, editConn))
                                {
                                    SqlDataReader notdr = notcmd.ExecuteReader();
                                    notdr.Read();
                                    LblNotShowPrimEx.Text = notdr.GetInt32(0).ToString();
                                    LblNotShowCov.Text = notdr.GetInt32(1).ToString();
                                    LblNotShowSharedLim.Text = notdr.GetInt32(2).ToString();
                                    LblNotShowTradLim.Text = notdr.GetInt32(3).ToString();
                                    LblNotShowTradSir.Text = notdr.GetInt32(4).ToString();
                                    LblNotShowEplLim.Text = notdr.GetInt32(5).ToString();
                                    LblNotShowEplSir.Text = notdr.GetInt32(6).ToString();
                                    LblNotShowEplPrem.Text = notdr.GetInt32(7).ToString();
                                    LblNotShowSublim.Text = notdr.GetInt32(8).ToString();
                                    notdr.Close();
                                }
                                break;
                            case 6:
                                PanelPrivShow.Visible = true;
                                using (SqlCommand privcmd = new SqlCommand(priv, editConn))
                                {
                                    SqlDataReader privdr = privcmd.ExecuteReader();
                                    privdr.Read();
                                    LblPrivShowPrimEx.Text = privdr.GetInt32(0).ToString();
                                    LblPrivShowSharedLim.Text = privdr.GetInt32(1).ToString();
                                    LblPrivShowTradLim.Text = privdr.GetInt32(2).ToString();
                                    LblPrivShowTradAtt.Text = privdr.GetInt32(3).ToString();
                                    LblPrivShowTradSir.Text = privdr.GetInt32(4).ToString();
                                    LblPrivShowTradPrem.Text = privdr.GetInt32(5).ToString();
                                    LblPrivShowEplLim.Text = privdr.GetInt32(6).ToString();
                                    LblPrivShowEplSir.Text = privdr.GetInt32(7).ToString();
                                    LblPrivShowEplAtt.Text = privdr.GetInt32(8).ToString();
                                    LblPrivShowEplPrem.Text = privdr.GetInt32(9).ToString();
                                    LblPrivShowEplWage.Text = privdr.GetInt32(10).ToString();
                                    LblPrivShowEplSublim.Text = privdr.GetInt32(11).ToString();
                                    LblPrivShowFidLim.Text = privdr.GetInt32(12).ToString();
                                    LblPrivShowFidSir.Text = privdr.GetInt32(13).ToString();
                                    LblPrivShowFidAtt.Text = privdr.GetInt32(14).ToString();
                                    LblPrivShowFidPrem.Text = privdr.GetInt32(15).ToString();
                                    LblPrivShowFidSublim.Text = privdr.GetInt32(16).ToString();
                                    privdr.Close();
                                }
                                break;
                            case 7:
                                PanelPubShow.Visible = true;
                                using (SqlCommand pubcmd = new SqlCommand(pub, editConn))
                                {
                                    SqlDataReader pubdr = pubcmd.ExecuteReader();
                                    pubdr.Read();
                                    LblPubShowMark.Text = pubdr.GetInt32(0).ToString();
                                    LblPubShowTick.Text = pubdr.GetInt32(1).ToString();
                                    LblPubShowTrad.Text = pubdr.GetInt32(2).ToString();
                                    LblPubShowDic.Text = pubdr.GetString(3);
                                    LblPubShowLim.Text = pubdr.GetInt32(4).ToString();
                                    LblPubShowSecSir.Text = pubdr.GetInt32(5).ToString();
                                    LblPubShowAllSir.Text = pubdr.GetInt32(6).ToString();
                                    LblPubShowPrem.Text = pubdr.GetInt32(7).ToString();
                                    LblPubShowPrimEx.Text = pubdr.GetInt32(8).ToString();
                                    LblPubShowAtt.Text = pubdr.GetInt32(9).ToString();
                                    LblPubShowSublim.Text = pubdr.GetInt32(10).ToString();
                                    pubdr.Close();
                                }
                                break;
                            default:
                                break;
                        }
                    }
                drRows.Close();

        }        
    }   
}

我发现我必须调整连接字符串中的某些内容。我不知道这是否是一个.Net故障,也不知道这是否只是使用嵌套读卡器时的一个必要调整,但我必须将
MultipleActiveResultSets=“true”
添加到存储的连接字符串中。之后,一切都正常工作,不需要数据表。非常感谢所有回答的人。虽然我相信上面的答案也可能有用,但如果这个问题对将来的某个人有任何用处,我会发布完整的代码来说明什么对我有用。警告:如果你对编码还不够了解,需要这篇文章,请参数化你的查询。这个网站是一个培训项目,在那里我被指示为了先学习其他东西而避免参数化,但这是最重要的。博比·泰尔斯

这是密码

using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class View : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        string x = Request.QueryString["SubmissionId"];
        string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
        string editCustQuery = "SELECT CustName, SicNaic, CustCity, CustAdd, CustState, CustZip FROM Customer WHERE SubId =" + x;
        string editBroQuery = "SELECT BroName, BroAdd, BroCity, BroState, BroZip, EntityType FROM Broker WHERE SubId =" + x; 
        string editSubQuery = "SELECT Coverage, CurrentCoverage, PrimEx, Retention, EffectiveDate, Commission, Premium, Comments FROM Submission WHERE SubmissionId =" + x;
        string epl = "SELECT Entity, Employees, CA, MI, NY, NJ, Primex, EplLim, EplSir, Premium, Wage, Sublim FROM EPL WHERE SubmissionId =" + x;
        string prof = "SELECT Primex, EO, Limit, Retention, Att, Prem, Sublim, Entity FROM ProfessionalEO WHERE SubmissionId =" + x;
        string crim = "SELECT Entity, Employees, PrimEx, LimA, DedA, PremA, LimitB, DedB, PremB FROM CrimeFidelity WHERE SubmissionId =" + x;
        string fid = "SELECT Entity, PrimEx, Limit, SIR, Att, Premium, Sublim FROM Fiduciary WHERE SubmissionId =" + x;
        string not = "SELECT PrimEx, Coverage, SharedSepLim, TradLim, TradDoSir, EplLim, EplSir, EplPrem, EplSublim FROM NotProfit WHERE SubmissionId =" + x;
        string priv = "SELECT Primex, SharedSepLim, TradLim, TradAtt, TradDoSir, TradPrem, EplLim, EplSir, EplAtt, EplWage, EplPrem, EplInvest, FidLim, FidSir, FidAtt, FidPrem, FidSublim FROM PrivateCompany WHERE SubmissionId =" + x;
        string pub = "SELECT Market, Ticker, TradABC, DIC, Limit, SecuritiesSir, OtherSir, Premium, PrimEx, Att, Sublim FROM PublicDO WHERE SubmissionId =" + x;
        using (SqlConnection editConn = new SqlConnection(connectionString))
        {
            editConn.Open();

            using (SqlCommand CustCommand = new SqlCommand(editCustQuery, editConn))
            {

                SqlDataReader dr = CustCommand.ExecuteReader();
                dr.Read();
                LblCustName.Text = dr.GetString(0);
                LblSicNaic.Text = dr.GetString(1);
                LblCustCity.Text = dr.GetString(2);
                LblCustAddress.Text = dr.GetString(3);
                LblCustState.Text = dr.GetString(4);
                LblCustZip.Text = dr.GetInt32(5).ToString();
                dr.Close();
            }
            using (SqlCommand BroCommand = new SqlCommand(editBroQuery, editConn))
            {
                SqlDataReader dr = BroCommand.ExecuteReader();
                dr.Read();
                LblBroName.Text = dr.GetString(0);
                LblBroAddress.Text = dr.GetString(1);
                LblBroCity.Text = dr.GetString(2);
                LblBroState.Text = dr.GetString(3);
                LblBroZip.Text = dr.GetInt32(4).ToString();
                LblEntity.Text = dr.GetString(5);
                dr.Close();
            }
            using (SqlCommand SubCommand = new SqlCommand(editSubQuery, editConn))
            {
                SqlDataReader dr = SubCommand.ExecuteReader();
                dr.Read();
                LblCoverage.Text = dr.GetInt32(0).ToString();
                LblCurrentCoverage.Text = dr.GetInt32(1).ToString();
                LblPrimEx.Text = dr.GetInt32(2).ToString();
                LblRetention.Text = dr.GetInt32(3).ToString();
                LblEffectDate.Text = dr.GetDateTime(4).ToString();
                LblCommission.Text = dr.GetInt32(5).ToString();
                LblPremium.Text = dr.GetInt32(6).ToString();
                LblComments.Text = dr.GetString(7);
                dr.Close();
                HyperLink1.NavigateUrl = "~/ViewEdit.aspx?SubmissionId=" + x;
            }
                string viewQuery = "SELECT ProductId FROM SubmissionProducts WHERE SubmissionId =" + x;

                SqlCommand viewcmd = new SqlCommand(viewQuery, editConn);

                SqlDataReader drRows = viewcmd.ExecuteReader();
                while (drRows.Read())
                    {
                        switch (drRows.GetInt32(0))
                        {
                            case 1:
                                PanelEplShow.Visible = true;
                                using (SqlCommand eplviewcmd = new SqlCommand(epl, editConn))
                                {
                                    SqlDataReader epldr = eplviewcmd.ExecuteReader();
                                    epldr.Read();
                                    LblEplShowEntity.Text = epldr.GetString(0);
                                    LblEplShowTotalEmpl.Text = epldr.GetInt32(1).ToString();
                                    LblEplShowCalEmpl.Text = epldr.GetInt32(2).ToString();
                                    LblEplShowMichEmpl.Text = epldr.GetInt32(3).ToString();
                                    LblEplShowNyEmpl.Text = epldr.GetInt32(4).ToString();
                                    LblEplShowNjEmpl.Text = epldr.GetInt32(5).ToString();
                                    LblEplShowPrimEx.Text = epldr.GetInt32(6).ToString();
                                    LblEplShowLim.Text = epldr.GetInt32(7).ToString();
                                    LblEplShowSir.Text = epldr.GetInt32(8).ToString();
                                    LblEplShowPrem.Text = epldr.GetInt32(9).ToString();
                                    LblEplShowWage.Text = epldr.GetInt32(10).ToString();
                                    LblEplShowInvestCost.Text = epldr.GetInt32(11).ToString();
                                    epldr.Close();
                                }
                                break;
                            case 2:
                                PanelProfShow.Visible = true;
                                using (SqlCommand profcmd = new SqlCommand(prof, editConn))
                                {
                                    SqlDataReader profdr = profcmd.ExecuteReader();
                                    profdr.Read();
                                    LblProfShowPrimEx.Text = profdr.GetInt32(0).ToString();
                                    LblProfShowType.Text = profdr.GetString(1);
                                    LblProfShowLim.Text = profdr.GetInt32(2).ToString();
                                    LblProfShowRetention.Text = profdr.GetInt32(3).ToString();
                                    LblProfShowAtt.Text = profdr.GetInt32(4).ToString();
                                    LblProfShowPrem.Text = profdr.GetInt32(5).ToString();
                                    LblProfShowSublim.Text = profdr.GetInt32(6).ToString();
                                    LblProfShowEntity.Text = profdr.GetString(7);
                                    profdr.Close();
                                }
                                break;
                            case 3:
                                PanelCrimeShow.Visible = true;
                                using (SqlCommand crimcmd = new SqlCommand(crim, editConn))
                                {
                                    SqlDataReader crimdr = crimcmd.ExecuteReader();
                                    crimdr.Read();
                                    LblCrimeShowEntity.Text = crimdr.GetString(0);
                                    LblCrimeShowEmpl.Text = crimdr.GetInt32(1).ToString();
                                    LblCrimeShowPrimEx.Text = crimdr.GetInt32(2).ToString();
                                    LblCrimeShowLimA.Text = crimdr.GetInt32(3).ToString();
                                    LblCrimeShowDedA.Text = crimdr.GetInt32(4).ToString();
                                    LblCrimeShowPremA.Text = crimdr.GetInt32(5).ToString();
                                    LblCrimeShowLimB.Text = crimdr.GetInt32(6).ToString();
                                    LblCrimeShowDedB.Text = crimdr.GetInt32(7).ToString();
                                    LblCrimeShowPremB.Text = crimdr.GetInt32(8).ToString();
                                    crimdr.Close();
                                }
                                break;
                            case 4:
                                PanelFidShow.Visible = true;
                                using (SqlCommand fidcmd = new SqlCommand(fid, editConn))
                                {
                                    SqlDataReader fiddr = fidcmd.ExecuteReader();
                                    fiddr.Read();
                                    LblFidShowEntity.Text = fiddr.GetString(0);
                                    LblFidShowPrimEx.Text = fiddr.GetInt32(1).ToString();
                                    LblFidShowLim.Text = fiddr.GetInt32(2).ToString();
                                    LblFidShowSir.Text = fiddr.GetInt32(3).ToString();
                                    LblFidShowAtt.Text = fiddr.GetInt32(4).ToString();
                                    LblFidShowPrem.Text = fiddr.GetInt32(5).ToString();
                                    LblFidShowSublim.Text = fiddr.GetInt32(6).ToString();
                                    fiddr.Close();
                                }
                                break;
                            case 5:
                                PanelNotShow.Visible = true;
                                using (SqlCommand notcmd = new SqlCommand(not, editConn))
                                {
                                    SqlDataReader notdr = notcmd.ExecuteReader();
                                    notdr.Read();
                                    LblNotShowPrimEx.Text = notdr.GetInt32(0).ToString();
                                    LblNotShowCov.Text = notdr.GetInt32(1).ToString();
                                    LblNotShowSharedLim.Text = notdr.GetInt32(2).ToString();
                                    LblNotShowTradLim.Text = notdr.GetInt32(3).ToString();
                                    LblNotShowTradSir.Text = notdr.GetInt32(4).ToString();
                                    LblNotShowEplLim.Text = notdr.GetInt32(5).ToString();
                                    LblNotShowEplSir.Text = notdr.GetInt32(6).ToString();
                                    LblNotShowEplPrem.Text = notdr.GetInt32(7).ToString();
                                    LblNotShowSublim.Text = notdr.GetInt32(8).ToString();
                                    notdr.Close();
                                }
                                break;
                            case 6:
                                PanelPrivShow.Visible = true;
                                using (SqlCommand privcmd = new SqlCommand(priv, editConn))
                                {
                                    SqlDataReader privdr = privcmd.ExecuteReader();
                                    privdr.Read();
                                    LblPrivShowPrimEx.Text = privdr.GetInt32(0).ToString();
                                    LblPrivShowSharedLim.Text = privdr.GetInt32(1).ToString();
                                    LblPrivShowTradLim.Text = privdr.GetInt32(2).ToString();
                                    LblPrivShowTradAtt.Text = privdr.GetInt32(3).ToString();
                                    LblPrivShowTradSir.Text = privdr.GetInt32(4).ToString();
                                    LblPrivShowTradPrem.Text = privdr.GetInt32(5).ToString();
                                    LblPrivShowEplLim.Text = privdr.GetInt32(6).ToString();
                                    LblPrivShowEplSir.Text = privdr.GetInt32(7).ToString();
                                    LblPrivShowEplAtt.Text = privdr.GetInt32(8).ToString();
                                    LblPrivShowEplPrem.Text = privdr.GetInt32(9).ToString();
                                    LblPrivShowEplWage.Text = privdr.GetInt32(10).ToString();
                                    LblPrivShowEplSublim.Text = privdr.GetInt32(11).ToString();
                                    LblPrivShowFidLim.Text = privdr.GetInt32(12).ToString();
                                    LblPrivShowFidSir.Text = privdr.GetInt32(13).ToString();
                                    LblPrivShowFidAtt.Text = privdr.GetInt32(14).ToString();
                                    LblPrivShowFidPrem.Text = privdr.GetInt32(15).ToString();
                                    LblPrivShowFidSublim.Text = privdr.GetInt32(16).ToString();
                                    privdr.Close();
                                }
                                break;
                            case 7:
                                PanelPubShow.Visible = true;
                                using (SqlCommand pubcmd = new SqlCommand(pub, editConn))
                                {
                                    SqlDataReader pubdr = pubcmd.ExecuteReader();
                                    pubdr.Read();
                                    LblPubShowMark.Text = pubdr.GetInt32(0).ToString();
                                    LblPubShowTick.Text = pubdr.GetInt32(1).ToString();
                                    LblPubShowTrad.Text = pubdr.GetInt32(2).ToString();
                                    LblPubShowDic.Text = pubdr.GetString(3);
                                    LblPubShowLim.Text = pubdr.GetInt32(4).ToString();
                                    LblPubShowSecSir.Text = pubdr.GetInt32(5).ToString();
                                    LblPubShowAllSir.Text = pubdr.GetInt32(6).ToString();
                                    LblPubShowPrem.Text = pubdr.GetInt32(7).ToString();
                                    LblPubShowPrimEx.Text = pubdr.GetInt32(8).ToString();
                                    LblPubShowAtt.Text = pubdr.GetInt32(9).ToString();
                                    LblPubShowSublim.Text = pubdr.GetInt32(10).ToString();
                                    pubdr.Close();
                                }
                                break;
                            default:
                                break;
                        }
                    }
                drRows.Close();

        }        
    }   
}

dt.Rows[rowindex][columnName/columnIndex]dt.Rows[rowindex][columnName/columnIndex]不幸的是,否,SubmissionId可以有多个关联实例。不幸的是,否,SubmissionId可以有多个关联实例。