购物车功能分析

购物车功能分析


最近用到虚拟表 所以我就整理了一些Datatable的常用用法

//虚拟表DataTable的用法

//创建DataTable

DataTable Table = new DataTable("mytable");//创建一个DataTable对象
Table.CaseSensitive = false;//设置不区分大小写
Table.MinimumCapacity = 100;//设置DataTable初始大小
Table.TableName = "newtable"; //设置DataTable的名称

//向DataTable中添加列

DataColumn Colum = new DataColumn();//创建一个DataColumn
Colum = Table.Columns.Add("id", typeof(int));//增加一个列
Colum = Table.Columns.Add("title", typeof(string));//增加一个列

table.Columns.Add("UserName", typeof(System.String));

//设置主键为UserId

table.PrimaryKey = new DataColumn[] { table.Columns["UserId"] };


//创建唯一约束


table.Constraints.Add("PK_UserId",table.Columns["UserId"],true);


Tables.Add(table);

//处理自动增长列


DataColumn col = tbl.Columns.Add("OrderID", typeof(int));


col.AutoIncrement = true; //获取或设置一个值,该值指示对于添加到该表中的新行,列是否将列的值自动递增


col.AutoIncrementSeed = -1; //获取或设置其 System.Data.DataColumn.AutoIncrement 属性设置为 true 的列的起始值


col.AutoIncrementStep = -1; //获取或设置其 System.Data.DataColumn.AutoIncrement 属性设置为 true 的列使用的增量


col.ReadOnly = true; //获取或设置一个值,该值指示一旦向表中添加了行,列是否还允许更改

//添加基于表达式的列


table.Columns.Add("ItemTotal", typeof(Decimal), "Quantity*UnitPrice");

//给虚拟表中添加数据


DataRow row =table.NewRow();使用DataTable的NewRow方法创建一个新DataRow对象

row[0]="编号";;//使用索引赋值列


row["UserName"] = "New UserName";;//使用列名赋值列

table.Rows.Add(row);

//调用Rows.Add来添加行


table.Rows.Add("编号","New UserName");增加列

//LoadDataRow方法。此方法类似于被重载的Add方法,利用该方法可以为新的DataRow提供值清单,


//要使用这一方法,在第一个参数中提供一个数组。该数组中的项对应于表中的列。


//第二个参数AccepteChanges控制新DataRow的RowState属性,


//为这一参数传递False值,将会导致新行的RowState为Added


table.LoadDataRow(new object[] { "编号", "New UserName" },false);

object[] aValues ={"编号","New UserName"};

table.LoadDataRow(aValues,false);


//修改现有行

//使用Rows集合的Find方法来查找DataTable中的一行,然后改变每一列的值


DataRow row = table.Rows.Find("UserId");


if (row == null)
{
     Console.Write("没有这一列");
}
else
{
     row["UserName"] = "new Value";
}


//使用ItemArray属性可用于在一行代码获取或修改多个行值,返回和接受一个数组,其中每一项对应于一列。


//如果希望仅修改行中可用值的一个子集,使用Null或Nothing来指示不希望覆盖DataRow中的列的值


DataRow row = table.Rows.Find("UserId");


if (row == null)
{
    Console.Write("没有这一列");
}
else
{
     row.ItemArray = new object[] { null, "New Value" };
}

//删除现有行


DataRow row = table.Rows.Find("UserId");


if (row == null)
{
    Console.Write("没有这一列");
}
else
{
     table.Rows.Remove(row);
   //or


   table.Rows.RemoveAt(table.Rows.IndexOf(row));

}


//查看是否为空

DataRow rowCustomer;

rowCustomer = table.Rows.Find("id");


if(rowCustomer.IsNull("Phone")) 
    Console.WriteLine("为空"); 
else 
    Console.WriteLine("不为空"); 
//赋予空值


rowCustomer["Phone"] = DBNull.Value;


//删除列名


table.Columns.Remove("minArea");


//调整列名


table.Columns["num"].SetOrdinal(1); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值