SqlDataReader读取数据为null
写了一个方法publicstringMainNo(stringTableName){stringdjbm,sql,str;sql="selectmax(BillNo)as...
写了一个方法
public string MainNo(string TableName)
{
string djbm, sql, str;
sql = " select max(BillNo) as djbm from Bill where Left(BillNo,Len('" + head + "')+8) = '" + head + DateTime.Now.ToString("yyyyMMdd") + "'";
SqlDataReader myread = bp.getRead(sql);
if (myread.Read())
{
str = (myread["djbm"].ToString()).Substring(myread["djbm"].ToString().Length - 4, 4);
str = Convert.ToString(Convert.ToInt32(str) + 2);
str = str0.Substring(1, 4 - str.Length) + str;
djbm = head + System.DateTime.Now.ToString("yyyyMMdd") + str;
}
else
{
djbm = head + System.DateTime.Now.ToString("yyyyMMdd") + "0001";
}
return djbm;
}
sql执行结果是null ,怎么直接让程序执行else呢? 展开
public string MainNo(string TableName)
{
string djbm, sql, str;
sql = " select max(BillNo) as djbm from Bill where Left(BillNo,Len('" + head + "')+8) = '" + head + DateTime.Now.ToString("yyyyMMdd") + "'";
SqlDataReader myread = bp.getRead(sql);
if (myread.Read())
{
str = (myread["djbm"].ToString()).Substring(myread["djbm"].ToString().Length - 4, 4);
str = Convert.ToString(Convert.ToInt32(str) + 2);
str = str0.Substring(1, 4 - str.Length) + str;
djbm = head + System.DateTime.Now.ToString("yyyyMMdd") + str;
}
else
{
djbm = head + System.DateTime.Now.ToString("yyyyMMdd") + "0001";
}
return djbm;
}
sql执行结果是null ,怎么直接让程序执行else呢? 展开
1个回答
推荐于2016-09-19 · 知道合伙人软件行家
关注
展开全部
只要你SQL语句没有错,那总能Read()
因此,你要在
if (myread.Read())
{
object o=myread["djbm"];
if(o!=System.DBNull.Value) 有数据
{
你上面的语句
}
else
{
自己改下了。
djbm = head + System.DateTime.Now.ToString("yyyyMMdd") + "0001";
}
}
因此,你要在
if (myread.Read())
{
object o=myread["djbm"];
if(o!=System.DBNull.Value) 有数据
{
你上面的语句
}
else
{
自己改下了。
djbm = head + System.DateTime.Now.ToString("yyyyMMdd") + "0001";
}
}
追问
使用了未赋值的局部变量"djbm",这个该怎么改?
追答
申明时 djbm=“”;
你什么问题啊。,上面的意思你明白了没有。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询