标题 | 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} |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。