萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> C#顯示DataTable指定行的記錄屬性值

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

   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}

copyright © 萬盛學電腦網 all rights reserved