установить значение метки в vb.net - PullRequest
1 голос
/ 02 июня 2010

Я обычно парень из PHP, но застрял, работая над проектом на vb.net.

У меня есть запрос (sqldatasource), который возвращает одно значение (дата последнего обновления).

Я хочу использовать метку, чтобы сказать что-то вроде «Последнее обновление:»

В PHP это было бы просто. В vb.net все, что я могу найти, это бесконечные плохо написанные кодовые фрагменты, показывающие, как вы выполняете запрос onLoad и затем привязываете его к метке.

Это действительно единственный способ сделать это? Кажется, что смехотворно простая проблема иметь такое долгое решение. Я использовал элемент управления сеткой данных, чтобы просто связать результат запроса напрямую, но он печатает как имя столбца, так и дату, поэтому он не идеален.

Есть идеи?

1 Ответ

2 голосов
/ 02 июня 2010

В вашем методе Page_Load запустите ваш запрос. На вашем page.aspx у вас есть элемент управления формы, назовем его label1. Установить label1.text = queryResult.

Sub Page_Load()
  dim myConnection as new data.sqlclient.sqlconnection
  dim myCommand as new data.sqlclient.sqlcommand
  dim sqlReader as data.sqlclient.sqldatareader
  myConnection.connectionString = 'enter your connection string details'
  myConnection.Open()
  myCommand = New SqlCommand("Select lastUpdated from yourTable", myConnection)
  sqlReader = myCommand.ExecuteReader()
  if sqlReader.hasRows then
    sqlReader.read()
    label1.text = Format("MM/dd/yyyy", sqlReader("lastUpdated"))
  end if
End Sub

И ваш page.aspx (где-то)

<asp:label id="Label1" runat="server" />

PS - Возможно, я отключил функцию форматирования выше, какое-то время.

РЕДАКТИРОВАТЬ на основе комментария пользователя:

Ну, для того, что вы делаете, я бы не стал рекомендовать SQLDataSource, поскольку он действительно предназначен для привязки к элементу управления, такому как gridview или ретранслятор. Однако, если вы хотите использовать SQLDataSource, вам нужно будет привязать к DataView в вашем программном коде. Оттуда вы можете получить доступ к каждой строке (у вас должна быть только одна) и столбцу по имени.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim dv As New Data.DataView
    'use the id of your SqlDataSource below'
    dv = SqlDataSource1.Select(DataSourceSelectArguments.Empty)
    Label1.Text = dv.Table.Rows(0)("LastUpdated")
End Sub

ДЛЯ использования строки подключения из web.config:

Файл Web.Config:

<appSettings>  
   <add key="strConnectionString" value="Data Source=192.168.0.55;Database=Times;User ID=sa;PassWord=sa"/> 
</appSettings>

Код сзади:

     Dim sqlConn as new data.sqlClient.SqlConnection()
     sqlConn.ConnectionString=ConfigurationManager.ConnectionStrings("strConnectionString").ConnectionString
     sqlConn.Open()
...