将值硬编码到数据表中

本文关键字:数据表 编码 | 更新日期: 2023-09-27 17:58:17

如何将值硬编码到数据表的字段中。这就是我所拥有的。

//create Data table to temporary storage
DataTable myTable = new DataTable();
protected void createTable(DataTable myTable)
    {

        myTable.Columns.Add("PilotID");
        myTable.Columns.Add("Start_date");
        myTable.Columns.Add("End_date");
        myTable.Columns.Add("Hours");
    }

将值硬编码到数据表中

您可以使用DataColumn。表达式将列设置为常数值。

例如:

// For a number
myTable.Columns["PilotID"].Expression = "1";
// For a string
myTable.Columns["PilotID"].Expression = "'MyPilot'";

然后,添加到数据表中的每一行在列中都将具有相同的常数值。如果某些代码试图更改常数值,DataRow还会引发异常。

DataTable myTable = new DataTable();
myTable.Columns.Add("PilotID");
myTable.Columns.Add("Start_date");
myTable.Columns.Add("End_date");
myTable.Columns.Add("Hours");
DataRow dr = myTable.NewRow();
dr["PilotID"] = 1;
myTable.Rows.Add(dr);
myTable.Rows[0]["PilotID"] = 1;

U可以这样尝试!

    string[] TABLE_COLUMNS = new string[] { "PilotID", "Start_date", "End_date", "Hours", };
    static void Main()
    {
        var i_need_new_table = HardCodedDataTable();
        var i_need_one_more_new_table = HardCodedDataTable(TABLE_COLUMNS);
    }
    private static DataTable HardCodedDataTable() // default hard-coded table
    {
        DataTable myTable = new DataTable();
        myTable.Columns.Add("PilotID");
        myTable.Columns.Add("Start_date");
        myTable.Columns.Add("End_date");
        myTable.Columns.Add("Hours");
        return myTable;
    }
    private static DataTable HardCodedDataTable(string[] columns) // table with predefined columns in array
    {
        DataTable myTable = new DataTable();
        Array.ForEach(columns, s => myTable.Columns.Add(s));
        return myTable;
    }

使用globabl设置或类字段分配给表的字段。一旦你有了NewRow(),那么:

myNewRow["ConstantField"] = Settings.SpecialValue;

更新

正如@shf301所建议的那样,使用表达式会更好;但是,我建议使用"设置"来存储您的硬编码值。

myTable.Columns["PilotID"].Expression = Settings.SpecialValue;