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却提示?
最终目的还是在返回后调用指定的字段数据,不要在函数里搞