2012-03-24 4 views
2

으로 데이터 가져 오기 내 ASP.Net 웹 페이지에서 레이블이 있고 데이터베이스에서 검색 할 레이블의 텍스트가 필요합니다.SQL Server 데이터베이스에서 레이블

내가 내 데이터베이스에 쓰기에는 문제가 없지만,이 데이터를 다시 retieve하려고 보인다 것은 임무입니다 ...

내가 필요로하는 것은에서 내 데이터베이스에 Price 열에서 데이터를 얻을 수 있습니다 테이블 Tickets, ConcertName 데이터가 내 웹 페이지의 제목과 같거나 그 레코드가 내 웹 페이지와 연결된 레코드에서.

나는 많은 자습서를 이미 시험해 보았지만, 모두 오류가 발생하기 때문에 나는 그냥 포기하고 내 레이블을 고정시키기 전에 마지막으로 한 곳을 시험하기로 결정했습니다. 이 도움이 경우

, 나는 다음과 같은 시도 : 당신이 C# .NET을 사용

First Try

Second Try

Third Try

Fourth Try

답변

4

희망을

string MyPageTitle="MyPageTitle"; // your page title here 
string myConnectionString = "connectionstring"; //you connectionstring goes here 

SqlCommand cmd= new SqlCommand("select Price from Tickets where ConcertName ='" + MyPageTitle.Replace("'","''") + "'" , new SqlConnection(myConnectionString)); 
cmd.Connection.Open(); 
labelPrice.Text= cmd.ExecuteScalar().ToString(); // assign to your label 
cmd.Connection.Close(); 
+0

모든 것을 내 기존 밖으로 근무 프레임 워크와 ADO 닷넷에 대한 MSDN 문서에 대한 링크입니다 코드가 맞았으니 명령 문자열이 필요했습니다. 효과가 있었으므로 감사합니다. –

1

라벨을 데이터 소스에 바인딩하려는 것 같습니다. Here은 좋은 예입니다.

1

다음은 SQL 주입을 방지하는 예제이며 implicity는 "using"문으로 SqlConnection 개체를 삭제합니다. 당신이 좀 더 ADO 닷넷 연구에 관심이 있다면

string concert = "webpage title or string from webpage"; 

using(SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["connString"].ConnectionString)) 
{ 
    string sqlSelect = @"select price 
         from tickets 
         where concert_name = @searchString"; 
    using(SqlCommand cmd = new SqlCommand(strSelect, conn)) 
    { 
     cmd.Parameters.AddWithValue("@searchString", concert); 
     conn.Open(); 
     priceLabel.Text = cmd.ExecuteScalar().ToString(); 
    } 
} 

, 여기에 4.0

http://msdn.microsoft.com/en-us/library/h43ks021(v=vs.100).aspx

+0

SqlCommand도 IDisposable을 구현합니다. 사용 문에서도 그렇게하지 않으시겠습니까? – Bridge

관련 문제