select MAX(BulidNo) as 最大值 from Bulid
这一条语句查询出来有一条值,但是是NULL
所以我就用了下面的方法判断控制
可以程序一直提示“在没有任何数据时进行无效的读取尝试!” private void initBulidNo()//设置txtAreaNo值
{
int Number;
string sql = "select MAX(BulidNo) as 最大值 from Bulid";
SqlDataReader myReader = G_SqlExecute.GetReader(sql); if (!myReader.IsDBNull(0))//错误出现在这里,我不明白为什么?
{
MessageBox.Show("aa");
/*Number = Convert.ToInt16(myReader.GetString(0)) + 1; if (Number.ToString().Length == 3)
{
txtBulidNo.Text = Number.ToString();
}
else if (Number.ToString().Length >= 2 && Number.ToString().Length < 3)
{
txtBulidNo.Text = "0" + Number.ToString();
}
else
{
txtBulidNo.Text = "00" + Number.ToString();
}
txtBulidName.Text = "";
txtFloorNum.Text = "";
rtbRe.Text = "";*/
}
else
{
txtBulidNo.Text = "001";
} myReader.Close();
}
这一条语句查询出来有一条值,但是是NULL
所以我就用了下面的方法判断控制
可以程序一直提示“在没有任何数据时进行无效的读取尝试!” private void initBulidNo()//设置txtAreaNo值
{
int Number;
string sql = "select MAX(BulidNo) as 最大值 from Bulid";
SqlDataReader myReader = G_SqlExecute.GetReader(sql); if (!myReader.IsDBNull(0))//错误出现在这里,我不明白为什么?
{
MessageBox.Show("aa");
/*Number = Convert.ToInt16(myReader.GetString(0)) + 1; if (Number.ToString().Length == 3)
{
txtBulidNo.Text = Number.ToString();
}
else if (Number.ToString().Length >= 2 && Number.ToString().Length < 3)
{
txtBulidNo.Text = "0" + Number.ToString();
}
else
{
txtBulidNo.Text = "00" + Number.ToString();
}
txtBulidName.Text = "";
txtFloorNum.Text = "";
rtbRe.Text = "";*/
}
else
{
txtBulidNo.Text = "001";
} myReader.Close();
}
试试
DataSet ds = new DataSet();
da.Fill(ds);
if(ojb != null && ojb != DBNull.Value)
{
model.ProTypeId=(int)ojb;
}