关于DataTable存储数据的问题请教
本帖最后由 carrotgirl2008 于 2013-03-21 18:06:19 编辑
应客户要求,需要在一个生成费用的页面中,同时生成多个DataTable表,这些DataTable表的表结构是相同的,但是希望不同人员可以操作不同的DataTable表,不能相互影响。
我的想法是:表名可以根据每个生成人员的登录ID来动态为DataTable表来命名,如“Subtable+用户ID”,如下红色代码,但是当多人同时生成数据时,后面一个人生成的数据总是会覆盖前面那个人的数据,找了好久也没发现问题在哪,还请高手能指点一下。谢谢了
static DataTable DTable;
public void Page_Load(object Sender, EventArgs E)
{
if (!IsPostBack)
{
string strTableName = "Subtable" + this.Session["userid"].ToString();
DTable = new DataTable(strTableName);
}
//临时表
if (DTable.Columns.Count == 0)
{
DTable.Columns.Add("id", System.Type.GetType("System.Int32"));
DTable.Columns.Add("name", System.Type.GetType("System.String"));
DataColumn[] thekey = { DTable.Columns["id"] };
DTable.PrimaryKey = thekey;
BindGrid1();
}
}
//为DataGrid赋值
public void BindGrid1()
{
DataGrid2.DataSource = DTable;
DataGrid2.DataBind();
}
//生成数据
public void Action_Click(object Sender, EventArgs E)
{
DTable.Rows.Clear();
DataRowCollection myDataRowCollection = default(DataRowCollection);
DataRow DRow = default(DataRow);
Socut.Reader dr = new Socut.Reader("SELECT