获取表列名称和值

时间:2016-02-07 17:03:02

标签: c# jquery asp.net-mvc oracle linq

我有一个表和一些列需要将它带到我的下拉列表中。我需要在下拉列表中显示该值。在我的想法中,我将该列名称输入到下拉列表文本字段和那些数字到下拉列表值归档。

My Dropdown我需要看起来像这样。(这是针对userId 100)的 enter image description here

我的表。

enter image description here

这是Oracle数据库,我试图得到它的文字和值看起来像这样..但不幸的是......我无法得到价值。(例如......如果沃尔沃有3)。

  
    

在这里使用下面的查询我可以获得列名,但我需要列名和各自的值。

  

我的代码

public List<AllocModel> GetAllocationByUserId(string UserId)
    {
        try
        {
            DatabaseProviderFactory factory = new DatabaseProviderFactory();
            Database db = factory.Create("DefaultCon");
            con.Open();

            string Query = @"SELECT column_name
                             FROM USER_TAB_COLUMNS
                             WHERE table_name = 'TBL_ALLOC' AND column_name LIKE 'EZ_%'";

           // string Query = @"SELECT column_name
                          //   FROM USER_TAB_COLUMNS T ,TBL_ALLOC TX
                          //   WHERE T.table_name = 'TBL_ALLOC' AND T.column_name LIKE 'EZ_%' AND (TX.UserId =: TX.UserId)";

            cmd = db.GetSqlStringCommand(Query);

           // db.AddInParameter(cmd, "TX.UserId", DbType.String, UserId);

            var dx = db.ExecuteDataSet(cmd);

            var dd = dx.Tables[0].AsEnumerable().Select(x => new AllocModel
            {
                 COLUMN_NAME = x.Field<string>("COLUMN_NAME") // Column names comes to here.
            });

            var allocNos = dd.ToList();
            return allocNos;

        }
        catch (Exception ex)
        {

            throw;
        }
    }

1 个答案:

答案 0 :(得分:1)

您可以使用Oracle Concatenate Syntax来加入列。

您可以使用此

 string Query = @"SELECT column_A || '(' || EZ_Volvo || ')' ||
                             FROM USER_TAB_COLUMNS
                             WHERE table_name = 'TBL_ALLOC' AND column_name LIKE 'EZ_%'";