博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RowState和DataRowVersion使用示例
阅读量:4692 次
发布时间:2019-06-09

本文共 2321 字,大约阅读时间需要 7 分钟。

using System;using System.Data;namespace TestApp{    class Program    {        static void Main(string[] args)        {            DataTable cars = new DataTable("Cars");            DataColumn vin = new DataColumn("Vin");            vin.DataType = typeof(string);            vin.AllowDBNull = false;            vin.Caption = "VIN";            cars.Columns.Add(vin);            DataColumn manufactor = new DataColumn("Manufactor");            manufactor.DataType = typeof(string);            manufactor.MaxLength = 100;            manufactor.AllowDBNull = true;            cars.Columns.Add(manufactor);            DataRow dr = cars.NewRow();            dr[0] = "123456789ABCDE";            dr[1] = "VW";            cars.Rows.Add(dr);            Console.WriteLine(GetDataRowInfo(dr, "Vin"));                        cars.AcceptChanges();            dr.BeginEdit();            dr[0] = "987654321ABCDE";            dr[1] = "NISSAN";            Console.WriteLine(GetDataRowInfo(dr, "Vin"));            dr.EndEdit();            Console.WriteLine(GetDataRowInfo(dr, "Vin"));        }         static string GetDataRowInfo(DataRow row, string columnName)        {            string retVal = string.Format("RowState: {0} \t\n", row.RowState);            foreach (string versionString in Enum.GetNames(typeof(DataRowVersion)))            {                DataRowVersion version = (DataRowVersion)Enum.Parse(typeof(DataRowVersion), versionString);                if (row.HasVersion(version))                    retVal += string.Format("Version: {0} Value: {1} \r\n", version, row[columnName, version]);                else                    retVal += string.Format("Version: {0} does not exist. \r\n", version);            }            return retVal;        }    }}

运行结果:

RowState: Added

Version: Original does not exist.
Version: Current Value: 123456789ABCDE
Version: Proposed does not exist.
Version: Default Value: 123456789ABCDE

RowState: Unchanged

Version: Original Value: 123456789ABCDE
Version: Current Value: 123456789ABCDE
Version: Proposed Value: 987654321ABCDE
Version: Default Value: 987654321ABCDE

RowState: Modified

Version: Original Value: 123456789ABCDE
Version: Current Value: 987654321ABCDE
Version: Proposed does not exist.
Version: Default Value: 987654321ABCDE

转载于:https://www.cnblogs.com/lqs2011/p/4195851.html

你可能感兴趣的文章
c++引用
查看>>
树的dfs序直径深度重心以及拓扑排序
查看>>
结构体指针
查看>>
随机数生成函数
查看>>
CDQ分治
查看>>
引用的本质
查看>>
归并排序求逆序对
查看>>
Kejin Player
查看>>
构造函数的分类和调用
查看>>
c/c++面试大全
查看>>
拷贝构造函数调用的时机
查看>>
c++ inline函数
查看>>
构造函数与初始化列表
查看>>
c++多态的一个例子
查看>>
类对象作为类成员
查看>>
c++模板函数
查看>>
面向对象和面向过程的区别及优劣对比详解
查看>>
const与指针
查看>>
thsi指针的一些用法及作用
查看>>
c++友元
查看>>