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呢?
展开
 我来答
greystar_cn
推荐于2016-09-19 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
只要你SQL语句没有错,那总能Read()
因此,你要在
if (myread.Read())
{
object o=myread["djbm"];
if(o!=System.DBNull.Value) 有数据
{
你上面的语句
}
else
{
自己改下了。
djbm = head + System.DateTime.Now.ToString("yyyyMMdd") + "0001";
}

}
追问
使用了未赋值的局部变量"djbm",这个该怎么改?
追答
申明时 djbm=“”;
你什么问题啊。,上面的意思你明白了没有。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式