mycommand.CommandText="select aa=MAX(inside_number) from device where category!='0' and number='"+DropDownList1.SelectedItem.Value+"'"; conn.Open(); n=(string)mycommand.ExecuteScalar(); conn.Close();
if 里怎么写,我用o.ToString()==null,不对啊,我用if (o.GetType().Name=="DBNull")可以,可总觉得不是很好,有更好的办法吗?
不行啊,还是一样的错,我的inside_number是nchar型的。
object o = mycommand.ExecuteScalar();
Response.Write(o.GetType().Name);what do you see?
结果是DBNull,是什么问题,该怎么解决?
如果number里有匹配的话,就是原来不错的情况,返回是string.
object obj = mycommand.ExecuteScalar();
if(obj!=null)
tmp = (string)obj;conn.Close();
conn.Open();
n=(string)mycommand.ExecuteScalar();
conn.Close();
object obj = mycommand.ExecuteScalar();
if(obj!=null)
tmp = obj.ToString();conn.Close();
n=(string)mycommand.ExecuteScalar();
但将其放到try catch中
string n = o is DBNull ? "PutWhateverHere" : (string)o;