(原创)怎么直接建立一个DataTable并且为之添加数据

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

比如在做购物车的时候我们需要建立一个DataTable,来存放一些购物车中的东西,最后在把他们写到数据库,下面是实现方法。

DataTable dt=new DataTable("cart");

DataColumn dc1=new DataColumn("prizename",Type.GetType("System.String"));

DataColumn dc2=new DataColumn("point",Type.GetType("System.Int16"));

DataColumn dc3=new DataColumn("number",Type.GetType("System.Int16"));

DataColumn dc4=new DataColumn("totalpoint",Type.GetType("System.Int64"));

DataColumn dc5=new DataColumn("prizeid",Type.GetType("System.String"));

dt.Columns.Add(dc1);

dt.Columns.Add(dc2);

dt.Columns.Add(dc3);

dt.Columns.Add(dc4);

dt.Columns.Add(dc5);

//以上代码完成了DataTable的构架,但是里面是没有任何数据的

for(int i=0;i<10;i++)

{

DataRow dr=dt.NewRow();

dr["prizename"]="娃娃";

dr["point"]=10;

dr["number"]=1;

dr["totalpoint"]=10;

dr["prizeid"]="001";

dt.Rows.Add(dr);

}

//填充了10条相同的记录进去

有人会这么做

DataRow dr=new DataRow();

.....

dt.Rows.Add(dr);

这样是不行的,因为一个DataRow必定是属于一个DataTable的,不能凭空建立,就好比一条记录一定是属于一个表一样

又有人这么做

DataRow dr=dt.NewRow();

dr["prizename"]="娃娃";

dr["point"]=10;

dr["number"]=1;

dr["totalpoint"]=10;

dr["prizeid"]="001";

for(int i=0;i<10;i++)

{

dt.Rows.Add(dr);

}

这样做同样是错误的,因为DataTable已经有这条DataRow了,就好比一个表中不可能存在2条一样的记录,必须每次NewRow()

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有