Динамический ввод в SQL-запрос Использование asp.net - PullRequest
0 голосов
/ 13 мая 2011

У меня есть гиперссылка, которая должна печатать информацию из базы данных sql. Но я не могу знать, как передать это значение гиперссылки в запрос sql.

SqlConnection conn = new SqlConnection("Server=ILLUMINATI;" + "Database=DB;Integrated Security= true");
        SqlDataAdapter ADP = new SqlDataAdapter("select * from News where Headlines= au_id", conn);

Я хочу получить значение au_id динамически, может кто-нибудь помочь мне с этим после нажатия на гиперссылку.

Это похоже на то, как когда я нажимаю на заголовки, я получаю соответствующие новости.

Ответы [ 2 ]

2 голосов
/ 13 мая 2011

Прежде всего, вы должны использовать LinkButton вместо Hyperlink, поскольку гиперссылка перенаправляет страницу на указанный URL-адрес.Но у LinkButton есть обработчик события Click.На этот клик вы можете получить идентификатор.

Ваш запрос будет выглядеть как ...

SqlDataAdapter ADP = new SqlDataAdapter("select * from News where Headlines = " + au_id, conn);

Но было бы лучше, если вы используете Parameterized query to save yourself from a SQL Injection Attack.

SqlDataAdapter ADP = new SqlDataAdapter("select * from News where Headlines = @au_id", conn);
ADP.SelectCommand.Parameters.Add("@au_id", System.Data.SqlDbType.Int, 4, "au_id");
0 голосов
/ 13 мая 2011

Я не уверен, что именно вы хотите, но вот простой пример:

using ( command = new SqlCommand( ("select * from News where Headlines=" + au_id ), conn) //send au_id as string variable
{
    DataTable outDT = new DataTable();
        SqlDataAdapter adapter = new SqlDataAdapter(command);
        adapter.Fill(outDT); 
        return outDT; // Your DataTable
}
...