2009-11-19 1 views
1

Я просматривал в Интернете способ отображения определенного контента из таблицы данных sql. Я надеялся, что смогу отобразить столбец Content в соответствии со значением столбца Id. alt text http://photos-h.ak.fbcdn.net/hphotos-ak-snc3/hs031.snc3/11852_1241994617732_1465331687_655971_2468696_n.jpgОтображение конкретных данных на веб-странице asp.net из таблицы экспресс-данных microsoft sql

+0

ссылка возврат ошибки 404 –

+0

Что квест ион? Где изображение? –

+0

Ссылка работает для меня. –

ответ

0

Если вы хотите иметь только одно значение из одной записи, вы можете использовать ExecuteScalar метод SqlCommand класса:

string title = null; 
using (SqlConnection conn = new SqlConnection("your-connection-string")) 
using (SqlCommand cmd = new SqlCommand(
    "select ContentTitle from {put table name here} where id = 4", conn)) 
{ 
    conn.Open(); 
    title = (string)conn.ExecuteScalar(); 
} 

if (!string.IsNullOrEmpty(title)) 
{ 
    // assign title to suitable asp.net control property 
} 

Если вы хотите быть в состоянии сделать это для различных идентификаторов, не просто объединяет новую строку sql. Я повторю: не просто объединяет новую строку sql. Используйте параметры вместо:

string title = null; 
using (SqlConnection conn = new SqlConnection("your-connection-string")) 
using (SqlCommand cmd = new SqlCommand(
    "select ContentTitle from {put table name here} where id = @id", conn)) 
{ 
    SqlParameter param = new SqlParameter(); 
    param.ParameterName = "@id"; 
    param.Value = yourIdGoesHere; 
    cmd.Parameters.Add(param); 

    conn.Open(); 
    title = (string)conn.ExecuteScalar(); 
} 

if (!string.IsNullOrEmpty(title)) 
{ 
    // assign title to suitable asp.net control property 
} 

Обновление
Пример страницы ASPX. Сначала некоторые разметки (скажем, файл называется example.aspx):

<body> 
    <form id="Form1" runat="server"> 
     Title: <asp:Label id="_titleLabel" 
       Text="{no title assigned yet}" 
       runat="server"/> 
    </form> 
</body> 

... и в фоновом коде (который назвал бы example.aspx.cs, я включил только событие Page_Load для простота):

protected void Page_Load(object sender, EventArgs e) 
{ 
    int id; 
    try 
    { 
     if (int.TryParse(Request.QueryString["id"], out id)) 
     { 
      _titleLabel.Text = GetContentTitle(id); 
     } 
     else 
     { 
      _titleLabel.Text = "no id given; cannot look up title"; 
     } 
    } 
    catch (Exception ex) 
    { 
     // do something with the exception info 
    } 
} 

private static string GetContentTitle(int id) 
{ 
    using (SqlConnection conn = new SqlConnection("your-connection-string")) 
    using (SqlCommand cmd = new SqlCommand(
     "select ContentTitle from {put table name here} where id = @id", conn)) 
    { 
     SqlParameter param = new SqlParameter(); 
     param.ParameterName = "@id"; 
     param.Value = yourIdGoesHere; 
     cmd.Parameters.Add(param); 

     conn.Open(); 
     return (string)conn.ExecuteScalar(); 
    } 
} 

Отказ от ответственности: код записывается непосредственно в окно ответа и не тестировался (у меня нет доступа к среде разработки прямо сейчас), поэтому могут быть ошибки

+0

Я уверен, что это работает. Я просто не знаю, как реализовать его на веб-странице example.aspx. Отправьте пример кода asp.net. –

+0

О, и в каком файле я помещаю первый абзац кода CS, который вы указали. Мне всего 15 лет, и я пытаюсь узнать asp.net. –

+0

Спасибо. Я попробую, когда у меня появится шанс. –