2017-01-13 6 views
-5

レース用のチャートを作成するためのクエリを作成しました。この表では、不在の競合他社を考慮していないため、競合他社を競合他社のチャートの一番下に置いています。 私はphpmyadminでクエリを試してみましたが動作しますが、C#で同じクエリをコピーしても何も表示されません。C#を使用してMySQLからデータを取得する方法

これは、SQLでクエリです:

SELECT conduttore,concorrente,razza,taglia,categoria,tempo,errori,assente,eliminato 
FROM classifiche 
WHERE taglia='small' AND categoria='agility' AND assente=0 
ORDER BY 'tempo','errori','eliminato' ASC 

、これはC#でのバージョンです:

public static string StringaConnessione = "Data Source=localhost;Database=classifica;userid=root;password='';"; 
    public static MySqlConnection Connessione = new MySqlConnection(StringaConnessione);  
void MostraBtnClick(object sender, EventArgs e) 
    { 
     Connessione.Open(); 
     MySqlDataAdapter SDA=new MySqlDataAdapter("SELECT conduttore,concorrente,razza,taglia,categoria,tempo,errori,assente,eliminato FROM classifiche WHERE taglia='small' AND categoria='agility' AND assente=0 ORDER BY tempo,errori,eliminato ASC",Connessione); 
     DataTable DATA= new DataTable(); 
     SDA.Fill(DATA); 
     dataGridView1.DataSource=DATA; 
     Connessione.Close(); 
    } 

あなたは、私を助けてくださいことはできますか?

+3

1.ポストエラー2.あなたのDBMSとのタグあなたの質問を –

+0

は、文字列リテラルのためのものです。あなたの最初のクエリはいくつかの定数をORDER BYします!意味がありません... – jarlh

+0

あなたのsqlサーバーはlocalhostで動作しますか? –

答えて

0

これを試してください。 SQL単一引用符で

public static string StringaConnessione = @"server=localhost;uid=root;password=XXXX;database=classifica;port=3306;charset=utf8"; 

public static MySqlConnection Connessione = newMySqlConnection(StringaConnessione);  
void MostraBtnClick(object sender, EventArgs e) 
{ 
    Connessione.Open(); 
    MySqlCommand cmd = new MySqlCommand 
       { 
        Connection = Connessione, 
        CommandText = "SELECT conduttore,concorrente,razza,taglia,categoria,tempo,errori,assente,eliminato FROM classifiche WHERE taglia='small' AND categoria='agility' AND assente=0 ORDER BY tempo,errori,eliminato ASC" 
        }; 
    cmd.ExecuteNonQuery(); 
    MySqlDataAdapter SDA=new MySqlDataAdapter(cmd); 
    DataTable DATA= new DataTable(); 
    SDA.Fill(DATA); 
    dataGridView1.DataSource=DATA; 
    Connessione.Close(); 
} 
+1

ここで正確に何を変更したのですか?答えを説明してください – TheLethalCoder

+0

@ihtshamエラーがあります:非静的フィールド、メソッド、またはプロパティにオブジェクト参照が必要です 'Agility.creaClassifica.StringaConnessione'(CS0120) – Marietto

+0

@ TheLethalCoder、あなたがコードを読んでうまくいけば、あなたはその変化を見つけるでしょう。 –

関連する問題