2011-09-01 4 views
-1

어떻게 내 SQL 서버에서 하나의 열을 선택하고 레이블에 넣어, 다음 라벨은 항상 표시 할 최신 (나는 Datetime이)텍스트

답변

1

내가 먼저 모든 것에 기초를 배울 가야한다라고 말하고 싶지만,하지만 난 당신이 여기에 포인터를 줄 것이다 ..

이의 당신의 표는이

CREATE TABLE MyTable 
(
    DateSaved datetime, 
    MyLabel varchar(25) 
) 
처럼 보이는 가정 해 봅시다

레이블에 대해 하나의 datetime 필드와 하나의 필드가 있습니다. 이제이 데이터를 SQL Server에서 가져 오는 저장 프로 시저가 필요합니다.

CREATE PROCEDURE GetMyLabel 
AS 

/* Order it so that your dates are descending, meaning newest rows are first. */ 
select top 1 MyLabel from MyTable 
order by DateSaved desc 
GO 

/* Grant rights to a user for your SqlConnection later. I'll just call it WebUser. */ 
GRANT EXECUTE TO WebUser ON GetMyLabel 
GO 

이제 SQL이 완료되었습니다. 자 이제 코딩을위한 시간입니다. C# (.NET)을 사용하고 있다고 가정합니다.

using System.Data; 
using System.Data.SqlClient; 

.... 

protected void Page_Load(object sender, EventArgs e) 
{ 
    string myLabelText = Get_MyLabel; 

    if (myLabelText != null) 
     MyLabel.Text = myLabelText; 
} 

private void Get_MyLabel(string connStr) 
{ 
    string myLabelText; 

    try 
    { 
     conn.Open(); 

     // Returns a single column from the first row of the query 
     string myLabelText = cmd.ExecuteScalar().ToString();     
    } 
    catch(Exception ex) 
    { 
     Console.WriteLine(ex); 
    } 
    finally 
    { 
     if (conn != null && conn.State != ConnectionState.Closed) 
      conn.Close() 
    } 

    return myLabelText; 
} 

그리고 그렇게해야합니다. 행운을 빕니다!