[SQL] 한 셀의 값을 검색하기가 ExecuteReader () 메소드를 사용하는 방법
SQL한 셀의 값을 검색하기가 ExecuteReader () 메소드를 사용하는 방법
나는 다음과 같은 명령을 실행하고 레이블에 결과를 전달해야합니다. 난 내가 리더를 사용하여 할 수있는 방법을 모르겠어요. 누군가가 나에게 손을 줄 수 있습니까?
String sql = "SELECT * FROM learer WHERE learer.id = " + index;
SqlCommand cmd = new SqlCommand(sql,conn);
learerLabel.Text = (String) cmd.ExecuteReader();
당신이 볼 수 있듯이 나는 SQL 문을 작성하고 나는 그것을 실행,하지만 작동하지 않습니다. 왜?
콘솔은 말한다 :
레이블이 제대로 표시 할 수 있도록 어떻게 내가 문자열로 원하는 결과를 얻을 수 있습니다.
해결법
-
==============================
1.데이터베이스에서 하나의 값을 얻기 위해 DataReader를하고 Command.ExecuteReader를 사용하지 않는 것이 좋습니다. 대신 다음과 같은 Command.ExecuteScalar을 사용한다 :
데이터베이스에서 하나의 값을 얻기 위해 DataReader를하고 Command.ExecuteReader를 사용하지 않는 것이 좋습니다. 대신 다음과 같은 Command.ExecuteScalar을 사용한다 :
String sql = "SELECT ColumnNumber FROM learer WHERE learer.id = " + index; SqlCommand cmd = new SqlCommand(sql,conn); learerLabel.Text = (String) cmd.ExecuteScalar();
다음은 데이터베이스에 연결하고 데이터를 관리하는 방법에 대한 자세한 내용입니다.
-
==============================
2.
using (var conn = new SqlConnection(SomeConnectionString)) using (var cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = "SELECT * FROM learer WHERE id = @id"; cmd.Parameters.AddWithValue("@id", index); using (var reader = cmd.ExecuteReader()) { if (reader.Read()) { learerLabel.Text = reader.GetString(reader.GetOrdinal("somecolumn")) } } }
-
==============================
3.ExecuteScalar는 ()는 당신이 여기에서 필요로하는 무슨이다
ExecuteScalar는 ()는 당신이 여기에서 필요로하는 무슨이다
-
==============================
4.기본적으로 () 대신 ExecuteScalar는를 사용 말한다 중복 질문입니다.
기본적으로 () 대신 ExecuteScalar는를 사용 말한다 중복 질문입니다.
from https://stackoverflow.com/questions/5794529/how-to-use-executereader-method-to-retrieve-the-value-of-just-one-cell by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] #OR에 전달 관계는 구조적으로 호환되어야합니다. 호환 값 : : 참고 문헌] (0) | 2020.07.07 |
---|---|
[SQL] MySQL의의에 SQL 서버 상당 EXPLAIN (0) | 2020.07.07 |
[SQL] 나는 T-SQL 그룹으로 어떻게 사용합니까 (0) | 2020.07.07 |
[SQL] 어떻게 SQL Server의 평등을위한 두 개의 열을 비교합니까? (0) | 2020.07.07 |
[SQL] 두 날짜 사이의 분 계산 시간 차이 (만 근무 시간) (0) | 2020.07.06 |