Как вернуть несколько значений из запроса
В настоящее время я пытаюсь использовать цикл while для своего запроса, но он не возвращает несколько записей. текущий выход, который я получаю, - это одна запись, вместо этого я должен получить в общей сложности 3.
Пожалуйста, посоветуйте, что я могу сделать не так - Большое спасибо.
Как я тестирую запрос:
protected void Page_Load(object sender, EventArgs e) { string issue = storyURLSF(); Label1.Text = Server.HtmlEncode(issue); }
Что я уже пробовал:
public static string storyURLSF() { string article = ""; int publication = 0; int issue = 0; int storyid = 0; SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["##"].ConnectionString); string commandtext = "#####"; SqlCommand command = new SqlCommand(commandtext, con); con.Open(); command.Parameters.Add(new SqlParameter("title", article)); command.Parameters.Add(new SqlParameter("PUBLICATION_ID", publication)); command.Parameters.Add(new SqlParameter("ISSUE_ID", issue)); command.Parameters.Add(new SqlParameter("STORYID", storyid)); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { string name = reader.GetString(0); int pub = reader.GetInt32(1); int iss = reader.GetInt32(2); int sid = reader.GetInt32(3); //convertion to string string str = Convert.ToString(pub); string iss1 = Convert.ToString(iss); string sid1 = Convert.ToString(sid); var builder = new UriBuilder("http://www.structuredcreditinvestor.com/Article.asp?"); builder.Port = -1; var query = HttpUtility.ParseQueryString(builder.Query); // string nm = System.Web.HttpUtility.UrlPathEncode(name); query["article"] = name; query["ISS"] = str; query["PUB"] = iss1; query["SID"] = sid1; builder.Query = query.ToString(); string url = builder.ToString(); return url; } return article; }
[no name]
Я думаю, что проблема заключается в вашем запросе (comandTex). проверьте запрос, выполнив его в среде sql management studio. если там он возвращает 3, то проблема заключается в этом коде.
F-ES Sitecore
"return url;" - это завершает работу функции и останавливает ваш цикл, так что вы возвращаете только первый url. Если вы хотите вернуть несколько URL-адресов, Вам нужно будет вернуть List<string>, поэтому создайте объект List<string> В начале вашей функции и добавьте url-адрес в список в вашем цикле, а затем верните List<string & gt; После цикла.
Ваша следующая проблема заключается в том, как вы показываете этот список на клиенте, вы не можете его построить, так как список не имеет текстового представления, вам нужно будет что-то сделать, чтобы он нормально отображался на странице, но мы не знаем, что вы в конечном итоге пытаетесь сделать, поэтому трудно предложить решение.