C#顯示DataTable指定行的記錄屬性值

來源:互聯網
上載者:User

   C#顯示指定行的記錄屬性值,用DataTable中的NewRow()方法產生新的DataRow, 對新的DataRow的DataColumn對象設定數值,將新的DataRow加進DataTable中,建立DataSet 並調用mySqlDataAdapter的fill方法,從myDataSet中擷取Customers表,具體代碼如下:

  view sourceprint?01using System;

  02using System.Data;

  03using System.Data.SqlClient;

  04namespace ModifyDatabase

  05{

  06 public class ModifyDatabase

  07 {

  08 // 顯示指定行的記錄屬性值

  09 public static void DisplayDataRow(

  10 DataRow myDataRow,

  11 DataTable myDataTable

  12 )

  13 {

  14 Console.WriteLine("\nIn DisplayDataRow()");

  15 foreach (DataColumn myDataColumn in myDataTable.Columns)

  16 {

  17 Console.WriteLine(myDataColumn + " = " +

  18 myDataRow[myDataColumn]);

  19 }

  20 }

  21 public static void AddDataRow(

  22 DataTable myDataTable,

  23 SqlDataAdapter mySqlDataAdapter,

  24 SqlConnection mySqlConnection

  25 )

  26 {

  27 Console.WriteLine("\nIn AddDataRow()");

  28 // 用DataTable中的NewRow()方法產生新的DataRow

  29 Console.WriteLine("Calling myDataTable.NewRow()");

  30 DataRow myNewDataRow = myDataTable.NewRow();

  31 Console.WriteLine("myNewDataRow.RowState = " +

  32 myNewDataRow.RowState);

  33 // 對新的DataRow的DataColumn對象設定數值

  34 myNewDataRow["CustomerID"] = "JxCOM";

  35 myNewDataRow["CompanyName"] = "Jx Company";

  36 myNewDataRow["Address"] = "1 Main Street";

  37 // 將新的DataRow加進DataTable中

  38 Console.WriteLine("Calling myDataTable.Rows.Add()");

  39 myDataTable.Rows.Add(myNewDataRow);

  40 Console.WriteLine("myNewDataRow.RowState = " +

  41 myNewDataRow.RowState);

  42 // 將新行推進資料庫中

  43 Console.WriteLine("Calling mySqlDataAdapter.Update()");

  44 mySqlConnection.Open();

  45 int numOfRows = mySqlDataAdapter.Update(myDataTable);

  46 mySqlConnection.Close();

  47 Console.WriteLine("numOfRows = " + numOfRows);

  48 Console.WriteLine("myNewDataRow.RowState = " +

  49 myNewDataRow.RowState);

  50 DisplayDataRow(myNewDataRow, myDataTable);

  51 }

  52 public static void Main()

  53 {

  54 SqlConnection mySqlConnection =

  55 new SqlConnection(

  56 "server=localhost;database=Northwind;uid=sa;pwd=sa"

  57 );

  58 // 建立SELECT語句得SqlCommand對象

  59 SqlCommand mySelectCommand = mySqlConnection.CreateCommand();

  60 mySelectCommand.CommandText =

  61 "SELECT CustomerID, CompanyName, Address " +

  62 "FROM Customers " +

  63 "ORDER BY CustomerID";

  64 // 建立INSERT語句得SqlCommand對象

  65 SqlCommand myInsertCommand = mySqlConnection.CreateCommand();

  66 myInsertCommand.CommandText =

  67 "INSERT INTO Customers (" +

  68 " CustomerID, CompanyName, Address" +

  69 ") VALUES (" +

  70 " @CustomerID, @CompanyName, @Address" +

  71 ")";

  72 myInsertCommand.Parameters.Add("@CustomerID", SqlDbType.NChar,

  73 5, "CustomerID");

  74 myInsertCommand.Parameters.Add("@CompanyName", SqlDbType.NVarChar,

  75 40, "CompanyName");

  76 myInsertCommand.Parameters.Add("@Address", SqlDbType.NVarChar,

  77 60, "Address");

  78 // 建立SqlDataAdapter並設定相應屬性

  79 SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();

  80 mySqlDataAdapter.SelectCommand = mySelectCommand;

  81 mySqlDataAdapter.InsertCommand = myInsertCommand;

  82 // 建立DataSet 並調用mySqlDataAdapter的fill方法

  83 DataSet myDataSet = new DataSet();

  84 Console.WriteLine("Calling mySqlDataAdapter.Fill()");

  85 mySqlConnection.Open();

  86 int numOfRows =

  87 mySqlDataAdapter.Fill(myDataSet, "Customers");

  88 mySqlConnection.Close();

  89 Console.WriteLine("numOfRows = " + numOfRows);

  90 // 從myDataSet中擷取Customers表

  91 DataTable customersDataTable = myDataSet.Tables["Customers"];

  92 // 在Customers表中添加新行

  93 AddDataRow(customersDataTable, mySqlDataAdapter,

  94 mySqlConnection);

  95 }

  96 }

  97}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.