簡體   English   中英

如何將具有默認值的行添加到 System.Data.DataTable

[英]How to add row with default values into System.Data.DataTable

我有DataTable ,我需要添加具有默認值的row並將其保存到數據庫中。

獎勵:自動增加鍵列會很棒。

我怎樣才能做到這一點?

static int i = 1;
private void CreateDefault()
{
    DataColumn column = null;
    DataTable table = new DataTable();

    column = new DataColumn();
    var Col1 = column;
    Col1.DataType = System.Type.GetType("System.Int32");
    Col1.DefaultValue = i;
    Col1.Unique = false;
    table.Columns.Add(column);
    i = i + 1;

    column = new DataColumn();
    var Col2 = column;
    Col2.DataType = System.Type.GetType("System.String");
    Col2.DefaultValue = "Your String";
    table.Columns.Add(column);

    DataRow row = null;
    row = table.NewRow();

    table.Rows.Add(row);
}

變量i將是自動增量鍵列。 現在將DataTable插入到DataBase

您可以添加具有默認值的新行並將其保存到數據庫中,如下所示。

using (var conn = new SqlConnection(connectionString))
{
    SqlCommand cmd = new SqlCommand("SELECT * FROM YourTableName", conn);
    SqlDataAdapter da = new SqlDataAdapter() { SelectCommand = cmd };

    // Load records to a DataSet
    DataSet ds = new DataSet();
    da.Fill(ds, "YourTableName");
    var table = ds.Tables["YourTableName"];

    // Add a new row with default value
    table.Rows.Add();

    // Reflect the change to database
    SqlCommandBuilder cb = new SqlCommandBuilder(da);
    da.Update(ds, "YourTableName");
}

此外,如果您為 MS SQL Server ( https://msdn.microsoft.com/en-us/library/ms186775.aspx ) 設置了一個像 IDENTITY 這樣的自動增量鍵,這會在插入新行時起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM