第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試在 foreach 語句 C# 中跳過一列

嘗試在 foreach 語句 C# 中跳過一列

C#
慕尼黑8549860 2022-01-15 15:47:20
我有一個我正在研究的庫存管理程序。數(shù)據(jù)庫和表系統(tǒng)的設(shè)置方式是,每個類別都是不同的表。這是必要的,因?yàn)槊總€類別(即鞋子、電話、筆記本電腦)都有不同的字段來唯一標(biāo)識每個產(chǎn)品。因此,我創(chuàng)建了一個表,然后通過 foreach 語句添加名為列的用戶。我遇到的問題是它想在 ID 列已經(jīng)存在時添加它。我嘗試添加嵌套在 foreach 中的 If 語句,但它只是不斷打破 foreach 循環(huán)。我只是還沒有想出一種方法讓它跳過 ID 列并繼續(xù)添加每個列。這是功能代碼:private void btnCreateCategory_Click(object sender, EventArgs e){    List<string> FieldNames = new List<string>();    foreach (var item in lstFieldNames.Items)    {        FieldNames.Add(lstFieldNames.Items.ToString());    }    DataTable NewCategory = new DataTable();    NewCategory = CreateTable(FieldNames);    dgPreviewAdd.DataSource = NewCategory;    using (SqlConnection Connection = new SqlConnection(       Helper.cnnVal("InventoryManager")))    {        using (SqlCommand command = new SqlCommand("", Connection))        {            command.CommandText = "Create Table tbl" +                 NewCategory.TableName.ToString() + "(ID int)";            Connection.Open();            command.ExecuteNonQuery();            Connection.Close();            foreach (DataColumn newColumn in NewCategory.Columns)            {                 If( newColumn.ColumnName("ID")                  {                  }                  Else                  {                SqlParameter colparam = new SqlParameter();                colparam.ParameterName = "@ColumnName";                colparam.Value = newColumn.ColumnName.ToString();                SqlParameter tblParam = new SqlParameter();                tblParam.ParameterName = "@TableName";                tblParam.Value = "tbl" + NewCategory.TableName.ToString();                command.Parameters.Add(colparam);                command.Parameters.Add(tblParam);                command.CommandText = "dbo.AddCategoryColumns";                command.CommandType = CommandType.StoredProcedure;                Connection.Open();                command.ExecuteNonQuery();                Connection.Close();                }            }        }    }}
查看完整描述

2 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個贊

使用以下任一:


foreach (DataColumn newColumn in NewCategory.Columns)

{

    if (newColumn.ColumnName == "ID") continue;


    //Rest of logic goes here

}

或完全從循環(huán)中排除:


foreach (DataColumn newColumn in NewCategory.Columns.Where( c => c.ColumnName != "ID" ))

{


    //Rest of logic goes here

}


查看完整回答
反對 回復(fù) 2022-01-15
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個贊

您可以使用 distinct 對類別進(jìn)行分組


不要忘記使用 System.Linq 添加;


private void btnCreateCategory_Click(object sender, EventArgs e)

    {

        List<string> FieldNames = new List<string>();


        foreach (var item in lstFieldNames.Items)

        {

            FieldNames.Add(lstFieldNames.Items.ToString());

        }


        var grpfieldNames = FieldNames.Distinct();


        DataTable NewCategory = new DataTable();


        NewCategory = CreateTable(grpfieldNames);


        dgPreviewAdd.DataSource = NewCategory;


        using (SqlConnection Connection = new SqlConnection(

           Helper.cnnVal("InventoryManager")))

        {

            using (SqlCommand command = new SqlCommand("", Connection))

            {

                command.CommandText = "Create Table tbl" +

                    NewCategory.TableName.ToString() + "(ID int)";


                Connection.Open();

                command.ExecuteNonQuery();

                Connection.Close();


                foreach (DataColumn newColumn in NewCategory.Columns)

                {

                    If(newColumn.ColumnName("ID")

                      {

                    }

                    Else

                      {

                        SqlParameter colparam = new SqlParameter();

                        colparam.ParameterName = "@ColumnName";

                        colparam.Value = newColumn.ColumnName.ToString();


                        SqlParameter tblParam = new SqlParameter();

                        tblParam.ParameterName = "@TableName";

                        tblParam.Value = "tbl" + NewCategory.TableName.ToString();


                        command.Parameters.Add(colparam);

                        command.Parameters.Add(tblParam);

                        command.CommandText = "dbo.AddCategoryColumns";

                        command.CommandType = CommandType.StoredProcedure;


                        Connection.Open();

                        command.ExecuteNonQuery();

                        Connection.Close();

                    }

                }


                LoadCategory catTableLoad = new LoadCategory();

                DataTable catTable = new DataTable();

                catTable = catTableLoad.getCategoryTable();


                SqlParameter param = new SqlParameter();

                param.ParameterName = "@CategoryName";

                param.Value = NewCategory.TableName.ToString();


                SqlParameter param2 = new SqlParameter();

                param2.ParameterName = "@IdNumber";

                param2.Value = catTable.Rows.Count + 1;


                command.Parameters.Add(param);

                command.Parameters.Add(param2);


                command.CommandText = "dbo.AddCategory";

                command.CommandType = CommandType.StoredProcedure;


                Connection.Open();

                command.ExecuteNonQuery();

                Connection.Close();

            }

        }

    }



查看完整回答
反對 回復(fù) 2022-01-15
  • 2 回答
  • 0 關(guān)注
  • 356 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號