代码改变世界

DataSet测试数据的准备

2011-05-12 10:36  zhoujie  阅读(251)  评论(0编辑  收藏  举报
void TestData(DataSet ds,int n)
        {
            if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count == 0)
            {
                DataTable dt = ds.Tables[0];

                for (int j = 0; j < Math.Pow(10,n); j++)
                {
                    DataRow dr = dt.NewRow();
                    
                    foreach (DataColumn dc in dt.Columns)
                    {
                        if (dc.DataType == typeof(string))
                        {
                            dr[dc] = dc.ColumnName  + j;
                        }
                        else if (dc.DataType == typeof(DateTime))
                        {
                            dr[dc] = DateTime.Now.AddDays(j);
                        }
                        else //int
                        {
                            int i=dt.Columns.IndexOf(dc);
                            if (i < n)
                            {
                                dr[dc] = Math.Floor(j / Math.Pow(10, Math.Abs(i - n + 1))) % 10;
                            }
                            else
                                dr[dc] = j;
                        }
                    }
                    dt.Rows.Add(dr);
                }

            }
        }

//n表示主键个数