天天看點

将建立立的DataTable寫入資料庫

第一步、建立DataTable

将建立立的DataTable寫入資料庫

  protected   void  Build_Click( object  sender, EventArgs e)

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

{

将建立立的DataTable寫入資料庫

        DataTable dt = new DataTable("number");

将建立立的DataTable寫入資料庫

        DataColumn c1 = new DataColumn("numberID", typeof(int));

将建立立的DataTable寫入資料庫

        DataColumn c2 = new DataColumn("value", typeof(string));

将建立立的DataTable寫入資料庫

        dt.Columns.Add(c1);

将建立立的DataTable寫入資料庫

        dt.Columns.Add(c2);

将建立立的DataTable寫入資料庫

        long baseValue = Convert.ToInt64(TextBox1.Text);

将建立立的DataTable寫入資料庫

        long topValue = Convert.ToInt64(TextBox2.Text);

将建立立的DataTable寫入資料庫

        Response.Write(baseValue.ToString());

将建立立的DataTable寫入資料庫

        for(long i=baseValue;i<topValue;i++)

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

{

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

            DataRow r1 = dt.NewRow();

将建立立的DataTable寫入資料庫

            r1[0] = Convert.ToInt32(i);

将建立立的DataTable寫入資料庫

            r1[1] = i.ToString();

将建立立的DataTable寫入資料庫

            dt.Rows.Add(r1);    

将建立立的DataTable寫入資料庫

        }

将建立立的DataTable寫入資料庫

        InsertTable(dt);

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

    }

二、編寫插入資料庫的方法

将建立立的DataTable寫入資料庫

public   void  InsertTable(DataTable table1)

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

{

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

        string strInsert="insert into Number values (@value)";

将建立立的DataTable寫入資料庫

        SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["connStr"]);

将建立立的DataTable寫入資料庫

        conn.Open();

将建立立的DataTable寫入資料庫

        SqlCommand com = new SqlCommand(strInsert, conn);

将建立立的DataTable寫入資料庫

        SqlParameter p1 = new SqlParameter("@value", SqlDbType.VarChar);

将建立立的DataTable寫入資料庫

        com.Parameters.Add(p1);

将建立立的DataTable寫入資料庫

        for(int i=0;i<table1.Rows.Count;i++)

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

{

将建立立的DataTable寫入資料庫

            DataRow row=table1.Rows[i];

将建立立的DataTable寫入資料庫

            p1.Value=row[1].ToString();

将建立立的DataTable寫入資料庫

            com.ExecuteNonQuery();

将建立立的DataTable寫入資料庫

        }

将建立立的DataTable寫入資料庫

        conn.Close();

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

    } 通過編寫這兩個方法,基本的功能就已經實作,不過其間存在一個緻命的性能問題,在資料量在相當大的情況下效率會相當的低,是以在Sql Server批量插入資料時(特别是有規律可尋的大資料面前),我們多采用存儲過程的方式優化其性能。

将建立立的DataTable寫入資料庫

CREATE   PROCEDURE  up_number_ins

将建立立的DataTable寫入資料庫

AS

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

DECLARE   @base   int

将建立立的DataTable寫入資料庫

DECLARE   @top   int

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

SET   @top = 1000

将建立立的DataTable寫入資料庫

SET   @base = 10

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

WHILE   @base < @top

将建立立的DataTable寫入資料庫

BEGIN

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

   INSERT   INTO   number   VALUES  ( @base )

将建立立的DataTable寫入資料庫
将建立立的DataTable寫入資料庫

  SET   @base = @base + 1

将建立立的DataTable寫入資料庫

END

将建立立的DataTable寫入資料庫

GO