执行一个sql语句没有查询出来数据,赋给dataset不行吗?
谢谢该如何解决这个问题。我写了一个存储过程,由于参数不同,可能查询出来结果不同,有的是空,但是dataset我是必须要的。DbHelperSQL.RunProcedure...
谢谢
该如何解决这个问题。
我写了一个存储过程,由于参数不同,可能查询出来结果不同,有的是空,但是dataset我是必须要的。
DbHelperSQL.RunProcedure("GetRegionNameByCityID", parameters);
if (ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0][0].ToString();
else
return "region deleted";
大体就这个意思。
如果查询出来就返回其值,查询不出就返回那个字符串。 展开
该如何解决这个问题。
我写了一个存储过程,由于参数不同,可能查询出来结果不同,有的是空,但是dataset我是必须要的。
DbHelperSQL.RunProcedure("GetRegionNameByCityID", parameters);
if (ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0][0].ToString();
else
return "region deleted";
大体就这个意思。
如果查询出来就返回其值,查询不出就返回那个字符串。 展开
4个回答
展开全部
你两个结果返回的都是同种数据类型的话(本例是字符串string),那是可以的,你可以直接定义返回值为string的函数来实现你的要求:
public string MidDocStr(string SQLStr)
{
DbHelperSQL.RunProcedure(SQLStr, parameters);
if (ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0][0].ToString();
else
return "region deleted";
}
请注意函数连接字符串SQLStr和参数parameters的定义。
希望对你有帮助!
public string MidDocStr(string SQLStr)
{
DbHelperSQL.RunProcedure(SQLStr, parameters);
if (ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0][0].ToString();
else
return "region deleted";
}
请注意函数连接字符串SQLStr和参数parameters的定义。
希望对你有帮助!
展开全部
当DataSet为空的时候可以这样:
DataSet dsCertInfo = new DBOperation().inquiryCertInfoByName(RealName);
if (dsCertInfo != null && dsCertInfo.Tables.Count > 0 && dsCertInfo.Tables[0].Rows.Count > 0)
{
gvCertInfo.DataSource = dsCertInfo.Tables[0].DefaultView;
gvCertInfo.DataBind();
}
else
{
gvCertInfo.DataSource = null;
gvCertInfo.DataBind();
}
DataSet dsCertInfo = new DBOperation().inquiryCertInfoByName(RealName);
if (dsCertInfo != null && dsCertInfo.Tables.Count > 0 && dsCertInfo.Tables[0].Rows.Count > 0)
{
gvCertInfo.DataSource = dsCertInfo.Tables[0].DefaultView;
gvCertInfo.DataBind();
}
else
{
gvCertInfo.DataSource = null;
gvCertInfo.DataBind();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
存储过程返回的类型是什么。如果你就是select,建议你不要用DbHelperSQL.RunProcedure("GetRegionNameByCityID", parameters);
直接就用SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(参数)这个方法、
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
你的方法我用的时候存储过程是有返回值的,比如返回一个varchar(50)什么的。
或者你在ds.Tables[0].Rows.Count > 0)句话前判断ds.Tables[0]是否为null试试。
直接就用SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(参数)这个方法、
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
你的方法我用的时候存储过程是有返回值的,比如返回一个varchar(50)什么的。
或者你在ds.Tables[0].Rows.Count > 0)句话前判断ds.Tables[0]是否为null试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataSet 是必须要读取器:SqlDataAdapter用Fill()方法赋值的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询