MySql DataReader를 사용할 때 이상한 동작이 나타납니다. 쿼리는 MySQL 탐색기에서 올바르게 평가됩니다 (즉, 예상되는 레코드를 반환합니다). 응용 프로그램을 디버깅 할 때 그러나, 오류가 읽MySql 데이터 판독기가 행을 검색하지 않습니다.
열거 어떤 결과 굴복하지
면책 조항 : 나는 사이트
MySQL Data Reader not entering the loop
mysql datareader not finding rows c#
에 묻는 다음 질문 알고있다mysql datareader not finding rows c#
하지만 여러 번 언급하지 않고 연결을 올바르게 열고 닫는 방법과 SQL Server 대신 Mysql을 사용하는 독자를 닫을 것입니다.
MySqlConnection conn = this.conectar(); // this method performs Conn.Open();
List<Clase> listaClases = new List<Clase>();
string query = "SELECT c.id_clase, c.descripcion, e.nombre, e.calle, e.numero, e.telefono, e.email, "
+ "e.id_localidad, l.d_localidad, p.d_provincia, c.id_profesor, u.apellido, u.nombre, u.email "
+ "FROM CLASE c "
+ "JOIN USUARIO u ON c.id_profesor = u.id_usuario "
+ "JOIN CLASE_ESTABLECIMIENTO ce ON c.id_clase = ce.id_clase "
+ "JOIN ESTABLECIMIENTO e ON ce.id_establecimiento = e.id_establecimiento "
+ "JOIN LOCALIDAD l ON e.id_localidad = l.id_localidad "
+ "JOIN PROVINCIA p ON l.id_provincia = p.id_provincia "
+ "WHERE e.id_localidad = ?idLocalidad AND c.id_clase = ?idClase ";
MySqlCommand cmd = new MySqlCommand(query, conn);
cmd.Parameters.Add("?idLocalidad", MySqlDbType.Int32).Value = b.idLocalidad;
cmd.Parameters.Add("?idClase", MySqlDbType.Int32).Value = c.idClase;
MySqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
var idClase = dr.GetInt32(0);
var description = dr.GetString(1);
var nombreEst = dr.GetString(2);
var calleEst = dr.GetString(3);
var altura = dr.GetInt32(4);
var domExtra = dr.GetString(5);
var telefono = dr.GetString(6);
var emailEst = dr.GetString(7);
var idLoc = dr.GetInt32(8);
var descLoc = dr.GetString(9);
var prov = dr.GetString(10);
var idProf = dr.GetInt32(11);
var ape = dr.GetString(12);
var nom = dr.GetString(13);
var emailProf = dr.GetString(14);
listaClases.Add(/* construct class, code does not reach this point */);
}
dr.Close(); //close data reader
conn.Close(); //dispose of connection
제안이 크게 감사합니다, 감사 :
그리고 지금, 여기 내 C# 코드입니다!
어디에서 오류가 발생합니까? 기다려 ....'선택 '은 선택 사항입니까? – Uueerdo