Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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# 为什么我的datagrid只填充一行?_C#_Asp.net_Loops - Fatal编程技术网

C# 为什么我的datagrid只填充一行?

C# 为什么我的datagrid只填充一行?,c#,asp.net,loops,C#,Asp.net,Loops,它使用多个值多次通过foreach循环,但仅使用一行填充网格 string textLines; string[] textLine; textLines = scannedGuid.Text; textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries); DataSet ds2

它使用多个值多次通过foreach循环,但仅使用一行填充网格

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();

因为每次都要覆盖数据集,所以当完成循环时,只有最终的数据集,我认为它只包含一行

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
你想干什么

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();

相反,您需要将所有参数放在一个SP中以获取所有参数,或者将多脚本数据集合并到一个数据结构中以填充数据网格。

因为您每次都覆盖数据集,所以当您完成循环时,您只有最终的数据集,我认为它只包含一行

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
你想干什么

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
相反,您需要将所有参数放入一个SP中以获取所有参数,或者将多脚本数据集合并到一个数据结构中以填充数据网格。

我假设这段代码

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
            DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
            db2.AddInParameter(command2, "@pGuid", DbType.String, s);
            ds2 = db2.ExecuteDataSet(command2);
正在返回一行

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
仅仅因为你多次调用它,并不意味着有多条记录。您正在覆盖循环执行的所有变量的值

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
也许您可以将数据集的结果放入一个对象(创建一个表示结果的类),然后在循环时,将每个结果对象添加到列表中,然后将该列表绑定到网格

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
例如:

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
    List<MyCustomerClassForTheReturnedValues> values = new List<MyCustomClassForTheReturnedValues>();

    foreach (string s in textLine)
    {


            DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
            db2.AddInParameter(command2, "@pGuid", DbType.String, s);
            MyCustomClassForTheReturnedValues x = new MyCustomClassForTheReturnedValues(db2.ExecuteDataSet(command2));
            values.Add(x);


    }


    DataGrid1.DataSource = values;
    DataGrid1.DataBind();
列表值=新列表();
foreach(文本行中的字符串s)
{
DbCommand command2=db.GetStoredProcCommand(“sel_Guid_p”);
AddInParameter(command2,“@pGuid”,DbType.String,s);
MyCustomClassForTheReturnedValues x=新的MyCustomClassForTheReturnedValues(db2.ExecuteDataSet(command2));
加上(x);
}
DataGrid1.DataSource=值;
DataGrid1.DataBind();
我假设这个代码

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
            DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
            db2.AddInParameter(command2, "@pGuid", DbType.String, s);
            ds2 = db2.ExecuteDataSet(command2);
正在返回一行

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
仅仅因为你多次调用它,并不意味着有多条记录。您正在覆盖循环执行的所有变量的值

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
也许您可以将数据集的结果放入一个对象(创建一个表示结果的类),然后在循环时,将每个结果对象添加到列表中,然后将该列表绑定到网格

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
例如:

        string textLines;
        string[] textLine;

        textLines = scannedGuid.Text;

        textLine = textLines.Split(Environment.NewLine.ToArray(), StringSplitOptions.RemoveEmptyEntries);

        DataSet ds2 = null; 
        Database db2 = DatabaseFactory.CreateDatabase("CouponConnectionString");

        Database db2 = DatabaseFactory.CreateDatabase("ConnectionString");
        foreach (string s in textLine)
        {

            try
            {

                DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
                db2.AddInParameter(command2, "@pGuid", DbType.String, s);
                ds2 = db2.ExecuteDataSet(command2);


            }

            catch (Exception ex)
            {

            }


        }

        DataGrid1.DataSource = ds2;
        DataBind();
    List<MyCustomerClassForTheReturnedValues> values = new List<MyCustomClassForTheReturnedValues>();

    foreach (string s in textLine)
    {


            DbCommand command2 = db.GetStoredProcCommand("sel_Guid_p");
            db2.AddInParameter(command2, "@pGuid", DbType.String, s);
            MyCustomClassForTheReturnedValues x = new MyCustomClassForTheReturnedValues(db2.ExecuteDataSet(command2));
            values.Add(x);


    }


    DataGrid1.DataSource = values;
    DataGrid1.DataBind();
列表值=新列表();
foreach(文本行中的字符串s)
{
DbCommand command2=db.GetStoredProcCommand(“sel_Guid_p”);
AddInParameter(command2,“@pGuid”,DbType.String,s);
MyCustomClassForTheReturnedValues x=新的MyCustomClassForTheReturnedValues(db2.ExecuteDataSet(command2));
加上(x);
}
DataGrid1.DataSource=值;
DataGrid1.DataBind();

什么是文本行(即列表等)?我添加了额外的代码来显示文本行。@Tim,lol在这两个问题上都发帖了。这一定是某种家庭作业。SkyDawg33检查你的同学问了同样的问题。什么是文本行(即列表等)?我添加了额外的代码来显示文本行。@Tim,lol在这两个问题上都发帖了。这一定是某种家庭作业。SkyDawg33检查你的同学问了同样的问题。请记住,这将是每个条目一次DB查找。这可能非常低效,具体取决于您的体系结构。如果您可以在存储过程中以单独的方式传递整个guid字符串,并传回整个列表,那么只需一次调用,这会更好。同意薛定谔猫的说法。回答时没有重新设计所有内容:)这是正确的-我只是认为这背后可能还有更重要的问题值得解决。请记住,这将是每个条目一次DB查找。这可能非常低效,具体取决于您的体系结构。如果您可以在存储过程中以单独的方式传递整个guid字符串,并传回整个列表,那么只需一次调用,这会更好。同意薛定谔猫的说法。回答时没有重新设计一切:)这是正确的——我只是认为这背后可能还有更重要的问题值得解决。