Página 1 de 1

Conección a Mysql en Windows 7

NotaPublicado: 2021-09-22 13:53 @620
por Negrazo49
Hola a todos.

Tengo un par de reportes en los que leo de una simple tabla y trato de desplegar todos los registros y funciona bien, solo que en ambos está omitiendo el primer registro.

¿Será cosa del controlador?

Odio Windows, pero así me lo pidió un cliente y ¡ni modo! Lo que el cliente pida.

Yo sé que en Windows se tiene que crear un origen de datos y estos son ODBC.
¿Alguien tendrá un ejemplo de conexión?
Yo creo que mi problema va por ahí.

Estoy utilizando Strawberry Perl y Mysql.

Gracias de antemano.
Negrazo49.

Re: Conección a Mysql en Windows 7

NotaPublicado: 2021-09-22 15:49 @701
por explorer
Bienvenido a los foros de Perl en Español, Negrazo49.

¿Usas DBD::ODBC?

Ver un poco del código inicial ayudaría. Al menos, crear un programa lo más pequeño posible que demuestre que no funciona.

¿Has visto los mensajes de error?

Por este foro encontrarás algunos mensajes sobre ODBC. Usa esa palabra en la caja de búsqueda.

Re: Conección a Mysql en Windows 7

NotaPublicado: 2021-09-22 19:14 @843
por Negrazo49
Estimado explorer:
Aqui te mando el paquete de coneccion:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. package connectDB;
  2. use DBI;
  3.  
  4. # Configurar el acceso a la DB
  5. sub Conn
  6.   {
  7. my $m = DBI->connect("DBI:mysql:camporeal",'root','');
  8. {RaiseError=> 1}) or die('No me puedo conectar a la DB');
  9. return $m;
  10.     }
  11. return 1;
  12.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Y aqui envio la parte del programa que omite el 1er registro, yo no le encuentro error alguno.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!"c:\\strawberry\\perl\\bin\\perl.exe"
  2.  
  3. require 'connectDB.pl';
  4. use CGI::Carp qw(fatalsToBrowser);
  5. use DBI;
  6. use CGI qw(param uploadInfo);
  7. use CGI;
  8. use CGI ':standard';
  9. use CGI::Session;
  10.  
  11. my @doc1 = "";
  12. my $j = 0;
  13. my $cic = "";
  14. my $con = "";
  15.  
  16. my $cgi = new CGI;
  17. my $CGISESSID = $cgi->param('CGISESSID');
  18. my $session =
  19.    CGI::Session->load("driver:File",$CGISESSID,{'Directory'=>'/tmp/'})
  20.        or die CGI::Session->errstr;
  21.  
  22. print "Content-type: text/html\n\n";
  23. print start_html(-title=>'CampoReal', -bgcolor=>'#cccccc');
  24.  
  25. # Configurar el acceso a la DB
  26. $con = connectDB::Conn($m)
  27.   or die "No puedo conectarme  a la database\n";
  28.  
  29. print font ({-size=>'4',  -color=>'Red'},'Casas CampoReal');
  30. print "<BR>";
  31.  
  32. print "<TABLE align='center' border='3' >\n";
  33. print "<TR><th>Cont.</th><th>Nombre</th><th>Direccion</th><th>Email</th><th>Telefono</th><th>Celular</th><th>Status</th></TR>\n";
  34.  
  35. my $sth1 = $con->prepare("SELECT  nombre,direccion,email,telefono,celular,status FROM casas where status = 'Activo' order by direccion ");
  36. $sth1->execute()or die "No puedo leer Casas....";
  37. @doc1 = $sth1->fetchrow_array;
  38. print basefont ({-face=>'Arial'});
  39. print "<H2 align='center'><B>Relacion de Casas</B></H2>";
  40. while (@doc1 = $sth1->fetchrow_array)
  41. {
  42.    $j++;
  43.    print "<tr>";
  44.    print "<B><td>$j</td><td>$doc1[0]</td><td>$doc1[1]</td><td>$doc1[2]</td><td>$doc1[3]</td><td>$doc1[4]</td><td>$doc1[5]</td></B>";
  45.    print "</tr>\n";
  46. }
  47.  
  48. print "</TABLE>\n";
  49.  
  50.      print "<BR>";
  51.     print button(-name=>'back', -value=>'Atras', -onClick=>'history.go(-1)');
  52.  
  53. exit;
  54.  
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Espero que puedas ayudarme.
Gracias.

Re: Conección a Mysql en Windows 7

NotaPublicado: 2021-09-22 21:04 @919
por explorer
El primer registro lo lees en la línea 37, pero no haces uso de él. Por eso lo pierdes.

Quita la línea 37.

Re: Conección a Mysql en Windows 7

NotaPublicado: 2021-09-23 11:11 @508
por Negrazo49
Muchas gracias, explorer, ya funcionó bien.

Estaba duplicando esa instrucción en la línea 40.
Asunto resuelto. Se cierra este hilo.

Saludos desde Guadalajara, México.