没搞定,又来了~~~~~~~~~同一张数据表,生成两个datable时出现的问题,不吝赐教~~~~~~~~~~
数据库中有表:tab1,表中有若干字段,其中有一字段名为SuiJiShu
代码块1:查询符合条件的记录,并在数据集中建立一个表tab1
string Sql = "select * from tab1 where UserID=123456" ;
DataTable tab1= new DataTable();
tab1= selectData(Sql, "tab1"); //返回一个表
//selectData方法功能就是常规的数据集、数据表的生成sda.Fill(ds, dtName); dt= ds.Tables[dtName];
代码块2:查找所有SuiJiShu字段,并在数据集中建立一个表sjsTab
DataTable sjsTab = new DataTable();
string Sql = "select SuiJiShu from tab1"; //查询字符串
sjsTab = selectData(Sql, "sjsTab"); //返回一个表
//selectData方法功能就是常规的数据集、数据表的生成sda.Fill(ds, dtName); dt= ds.Tables[dtName];
代码块3:插入数据到数据库中
bookClass bk = new bookClass();
bk.Name = "asdfasdf";
bk.SuiJiShu = 3156482
bk.UserID = 5
insertData(tab1, bk); //insertData方法功能就是插入实体数据到指定的数据表中。
那么问题来了?
数据表中只会插入SuiJiShu字段的数据,这是为何?但是当我把加粗部分代码:select SuiJiShu from tab1改为select * from tab1时那么数据就会完整的插入?我明明插入的是tab1表(insertData(tab1, bk)),可为何插入语句使用的是数据集中的sjsTab表?
更诡异的是,如果我把代码块2放在代码块1的前面的时候,就能插入成功。