将值硬编码到数据表中
本文关键字:数据表 编码 | 更新日期: 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;