执行一个sql语句没有查询出来数据,赋给dataset不行吗?
发布网友
发布时间:2022-04-08 01:22
我来回答
共4个回答
热心网友
时间:2022-04-08 02:52
你两个结果返回的都是同种数据类型的话(本例是字符串string),那是可以的,你可以直接定义返回值为string的函数来实现你的要求:
public string MidDocStr(string SQLStr)
{
DbHelperSQL.RunProcere(SQLStr, parameters);
if (ds.Tables[0].Rows.Count > 0)
return ds.Tables[0].Rows[0][0].ToString();
else
return "region deleted";
}
请注意函数连接字符串SQLStr和参数parameters的定义。
希望对你有帮助!
热心网友
时间:2022-04-08 04:10
当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();
}
热心网友
时间:2022-04-08 05:44
存储过程返回的类型是什么。如果你就是select,建议你不要用DbHelperSQL.RunProcere("GetRegionNameByCityID", parameters);
直接就用SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.StoredProcere;
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试试。
热心网友
时间:2022-04-08 07:36
DataSet 是必须要读取器:SqlDataAdapter用Fill()方法赋值的!