在.NET C# 中如何处理返回SqlDataReader类型的
publicstaticSqlDataReaderExecuteReader(stringconnectionString,CommandTypecmdType,stri...
public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
// 在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在,
//CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catch捕获。
//关闭数据库连接,并通过throw再次引发捕捉到的异常。
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}
======================================
这个是返回的
然后我是
SqlDataAdapter sdr = SqlHelper.ExecuteReader(....)
然后用sdr读取数据库的字段没有提示
sdr["xxx"]
VS里没有弹出参数的提示
如果我在上面的函数里写rdr[""] VS却提示?
最终目的还是在返回后调用指定的字段数据,不要在函数里搞 展开
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connectionString);
// 在这里使用try/catch处理是因为如果方法出现异常,则SqlDataReader就不存在,
//CommandBehavior.CloseConnection的语句就不会执行,触发的异常由catch捕获。
//关闭数据库连接,并通过throw再次引发捕捉到的异常。
try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}
======================================
这个是返回的
然后我是
SqlDataAdapter sdr = SqlHelper.ExecuteReader(....)
然后用sdr读取数据库的字段没有提示
sdr["xxx"]
VS里没有弹出参数的提示
如果我在上面的函数里写rdr[""] VS却提示?
最终目的还是在返回后调用指定的字段数据,不要在函数里搞 展开
展开全部
为什么要返回SqlDataReader 呢, 这样的话数据库连接在数据层都不能关闭,只能在前台关闭reader,这要不好,建议返回List<T>
你的这代码,返回的是reader,使用时为什么又变成SqlDataAdapter 呢,应该还是SqlDataReader呀
using(SqlDataReader sdr = SqlHelper.ExecuteReader(....))
{
if(sdr.read())
{
sdr[0].ToString();
}
}
你的这代码,返回的是reader,使用时为什么又变成SqlDataAdapter 呢,应该还是SqlDataReader呀
using(SqlDataReader sdr = SqlHelper.ExecuteReader(....))
{
if(sdr.read())
{
sdr[0].ToString();
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询