经调试显示:我调用的一个返回DataSet类型的对象ds中读取某个字段的值为“普通”,证明DataSet不是空。把ds ToString后赋值给public string userType,在另一个窗体用到userType时显示userType值为null,我就诡异的很。大概代码意思:ds=业务层类.获取返回DataSet结果集的方法();
userType=ds.tables[0].rows[0][0].tostring();
if(userType=="普通")()
{}
else
{}调试框显示:
ds.tables[0].rows[0][0].tostring() 值 "普通"
usertype 值 null
为什么呢,急死我了都。
userType=ds.tables[0].rows[0][0].tostring();
if(userType=="普通")()
{}
else
{}调试框显示:
ds.tables[0].rows[0][0].tostring() 值 "普通"
usertype 值 null
为什么呢,急死我了都。
userType=ds.tables[0].rows[0]["你的列名"].tostring();
switch (i){
case 0:break;
case 1:break;
case 2:break;
case 3:
【ds=业务层类.获取返回DataSet结果集的方法();
userType=ds.tables[0].rows[0][0].tostring();break;】
“这段代码在switch中,是不是不能在switch中这样赋值啊”}
一旦把ds的先值赋给userType,再跨窗体调用(string str=窗体1.userTyp)就是显示str为null,后续操作显示不正常
【通过窗体的公有属性值和Owner属性特点:实现简单,灵活的窗体间的传值】
实现代码如下:
------------------------------------------------------------------
在窗体Form1中:
public string userType;ds=业务层类.获取返回DataSet结果集的方法();
userType=ds.tables[0].rows[0][0].tostring();Form2 f2 = new Form2 ( );
f2.ShowDialog ( this ); //把Form1作为Form2的所有者传递给Form2
------------------------------------------------------------------
在窗体Form2中
Form1 f1 = ( Form1 ) this.Owner;//Form2的所有者是Form1if(f1.userType=="普通")()
{}
else
{}