Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C#] mysql

  1. #1
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167

    [C#] mysql

    ho un problema con c#+mysql, la connessione è ok
    ma non riesco a tirare fuori i dati e stamparli, in una app console.
    ho usato la dll MySQLDriverCS;
    il codice di esempio che documenta sia la dll che il framework non funzionano

    Codice PHP:
    //cod che non funzia
              
    foreach(DataRow myRow in thisTable.Rows){
                 foreach(
    DataColumn myCol in thisTable.Columns){
                    
    Console.WriteLine(myRow[myCol]);
                 }
               } 

    questo è il mio codice, funzionante ma non stampa i valori
    Codice PHP:
        public void prova_select(){
                
    DataTable dt = new MySQLSelectCommand(DBConn,
                                                  new 
    string[] {"ID","colour_name","hex_value"},//fields
                                                  
    new string[] {"colours"},//tables
                                                  
    new object[,] {{"ID",">","0"}},//WhereParamFields,
                                                  
    null,
                                                  
    null
                                                 
    ).Table;

            if(
    dt.Rows.Count!=0) {
                
    Console.Write("\n ho trovato ! "+dt.Rows.Count+" linee \n");        
            } else {
                
    Console.Write("\n non ho trovato niente");
            }
            
            
    DataRowCollection drc=dt.Rows;
            for(
    int i 0drc.Counti++){
            
    //qui non ci siamo HELP!!!
                
    Console.WriteLine);
            }
        } 
    Reality is that which, when you stop believing in it, doesn't go away

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    ma il count ti restituisce il numero corretto di rows presenti nella table?


    se si prova a sostituire la i qui:
    codice:
    Console.WriteLine(i);
    con

    codice:
    drc.Item(IndiceDiRiga).Item(IndiceDiColonna).ToString

  3. #3
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Sì in C# la sintassi è

    codice:
       drc[indiceRiga][indiceColonna].ToString();
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  4. #4
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    la sintassi
    codice:
    drc[indiceRiga][indiceColonna].ToString();
    sembra corretta, in fatti compila correttamente,
    ma a runtime ottengo questo errore
    codice:
    Microsoft (R) Common Language Runtime Test Debugger Shell Version 1.0.3705.0
    Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.
    
    (cordbg) a 0xc80
    Process 3200/0xc80 created.
    Warning: couldn't load symbols for c:\windows\microsoft.net\framework\v1.0.3705\
    mscorlib.dll
    Warning: couldn't load symbols for c:\Documents and Settings\tazio\Documenti\Sha
    rpDevelop Projects\prova_form\tree1\prova_mysql\mysql_connect.exe
    Warning: couldn't load symbols for c:\documents and settings\tazio\documenti\sha
    rpdevelop projects\prova_form\tree1\prova_mysql\mysqldrivercs.dll
    Warning: couldn't load symbols for c:\windows\assembly\gac\system.data\1.0.5000.
    0__b77a5c561934e089\system.data.dll
    Warning: couldn't load symbols for c:\windows\assembly\gac\system\1.0.5000.0__b7
    7a5c561934e089\system.dll
    Warning: couldn't load symbols for c:\windows\assembly\gac\system.xml\1.0.5000.0
    __b77a5c561934e089\system.xml.dll
    Warning: couldn't load symbols for c:\windows\assembly\gac\system.data\1.0.3300.
    0__b77a5c561934e089\system.data.dll
    Warning: couldn't load symbols for c:\windows\assembly\gac\system\1.0.3300.0__b7
    7a5c561934e089\system.dll
    [thread 0x514] Thread created.
    Unable to  determine existence of prolog, if any
    [thread 0xa08] Thread created.
    [thread 0x514] Unhandled exception generated: (0x00c5c15c) <System.InvalidCastEx
    ception>
      _className=<null>
      _exceptionMethod=<null>
      _exceptionMethodString=<null>
      _message=(0x00c6106c) "Specified cast is not valid."
      _innerException=<null>
      _helpURL=<null>
      _stackTrace=(0x00c610b8) array with dims=[36]
      _stackTraceString=<null>
      _remoteStackTraceString=<null>
      _remoteStackIndex=0x00000000
      _HResult=0x80004002
      _source=<null>
      _xptrs=0x00000000
      _xcode=0xe0434f4d
    
    [002e] pop         esi
    (cordbg)
    non vorrei che fosse la dll bacata!
    Reality is that which, when you stop believing in it, doesn't go away

  5. #5
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da smt
    codice:
    <snip>
    
    [thread 0x514] Unhandled exception generated: (0x00c5c15c) <System.InvalidCastEx
    ception>
      _className=<null>
      _exceptionMethod=<null>
      _exceptionMethodString=<null>
      _message=(0x00c6106c) "Specified cast is not valid."
      _innerException=<null>
      _helpURL=<null>
      _stackTrace=(0x00c610b8) array with dims=[36]
      _stackTraceString=<null>
      _remoteStackTraceString=<null>
      _remoteStackIndex=0x00000000
      _HResult=0x80004002
      _source=<null>
      _xptrs=0x00000000
      _xcode=0xe0434f4d
    
    [002e] pop         esi
    (cordbg)
    non vorrei che fosse la dll bacata!
    e se invece hai un valore DBNull nel campo che vuoi convertire in stringa?

  6. #6
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    non ho valori nulli nella tabella.
    se ho capito bene la tua obiezione.
    Reality is that which, when you stop believing in it, doesn't go away

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da smt
    non ho valori nulli nella tabella.
    se ho capito bene la tua obiezione.
    ma te lo da subito o dopo aver scritto il primo messaggio sul contenuto dei record?

  8. #8
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    dopo aver stampato :
    codice:
    ok//la connessione c'è
    ho trovato! 137 line//la query è corretta
    Reality is that which, when you stop believing in it, doesn't go away

  9. #9
    Utente di HTML.it L'avatar di smt
    Registrato dal
    Jul 2002
    Messaggi
    167
    questo è il semplice codice completo, prova a compilarlo,
    io uso queste istruzioni
    codice:
    csc /out:mysql_connect.exe /R:MySQLDriverCS.dll mysql_connect.cs
    la dll è stata trovata qui:
    http://sourceforge.net/projects/mysqldrivercs/

    codice:
    using System;
    using System.Data;// DataTable
    using System.Collections;
    // 
    // 
    // 
    using MySQLDriverCS;
    
    
    
    class db
    {   
        private MySQLConnection DBConn ;
        
        public db()
        {
            DBConn = new MySQLConnection( 
                new MySQLConnectionString("localhost","test","root","").AsString 
                );
            DBConn.Open();
            Console.Write("ok\n");
        }
        
    
        public void prova_select(){
            DataTable dt = new MySQLSelectCommand(DBConn,
            new string[] {"ID","colour_name","hex_value"},//fields
            new string[] {"colours"},//tables
            new object[,] {{"ID",">","0"}},//WhereParamFields,
            null,
            null
            ).Table;
            
            if(dt.Rows.Count!=0) {
                Console.Write("\n ho trovato ! "+dt.Rows.Count+" linee \n");        
            } else {
                Console.Write("\n non ho trovato niente");
            }
            
            DataRowCollection drc=dt.Rows;
            for(int i = 0; i < drc.Count; i++){
                //Console.WriteLine( i );
                for(int j=0;j<2;j++){
                    string o=drc[0][0].ToString();
                    Console.Write(o);
                }
                
            }
        }
        
        public void Close()
        {
            DBConn.Close();
        }
        
    
    }
    
    class app
    {
        public static void Main()
        {   
            db mydb=new db();        
            
            mydb.prova_select();        
            
            mydb.Close();
        }
    }
    Reality is that which, when you stop believing in it, doesn't go away

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.