1

SELECT * FROM phpbb_topics これを C# コンソール アプリから実行しているクエリの出力を表示しようとしていますusing the MySql connector api
クエリを実行すると問題なく動作しphpmyadmin、フォーラム トピックのリストが表示されます。

ただし、C#アプリでリモートで実行すると、何もしないようです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MySql;
using MySql.Data; 

namespace SqlConsoleSlr
{
    class Program
    {
        static void Main(string[] args)
        {
            MySql.Data.MySqlClient.MySqlConnection mycon =
            new  MySql.Data.MySqlClient.MySqlConnection(GetConnectionString());
            Console.WriteLine(GetConnectionString());

            if (mycon.State != System.Data.ConnectionState.Open)

                try
                {
                    mycon.Open();
                    Console.WriteLine("we're in");
                }

                catch (System.Data.SqlClient.SqlException ex)
                {
                    Console.WriteLine(ex);
                }

                MySql.Data.MySqlClient.MySqlCommand msc = new MySql.Data.MySqlClient.MySqlCommand("SELECT * FROM `phpbb_topics` ");

            Console.WriteLine("completed");  /// gets to here, but doesn't show output of msc

            Console.ReadLine();
        }

        public static string GetConnectionString()
        {
            string hostname = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;";
            string username = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx;";
            string dbname = "xxxxxxxxxxxxxxxxxxxxxxxx;";
            string password = "xxxxxxxxxxxxxxxxxxxxxxxxxxx;";

            string s = "Server=" + hostname + "User=" + username + "Database=" + dbname + "Password=" + password;

            return s; 
        }
    }
}

クエリ オブジェクトで呼び出す必要があるメソッドはありますか? 私が見つけたのは だけですがmsc.BeginExecuteReader();、それでも実行は変わらないようです。

4

2 に答える 2

1

MYSQL Data Reader オブジェクトを作成する必要があります。

MySql.Data.MySqlClient.MySqlDataReader read = msqlCommand.ExecuteReader();

そして、read.read()すべてのレコードの後に​​レコードを出力できます。

于 2013-01-19T01:28:55.263 に答える
0

MySQL Data Reader のオブジェクトを作成してから、コマンドを実行する必要があります。

MySql.Data.MySqlClient.MySqlCommand msc = new MySql.Data.MySqlClient.MySqlCommand("SELECT * FROM `phpbb_topics` ");

    MySql.Data.MySqlClient.MySqlDataReader read = msqlCommand.ExecuteReader();

    if(read != null)
    {
    //Sample output
    while (read.Read())
            {
                int TopicID = Convert.ToInt32(read["Topic_ID"]);
                string TopicName = Convert.ToString(read["Topic_Name"]);
                Console.WriteLine(TopicID.ToString() + " : " + TopicName);
            }

    }
于 2013-01-19T01:42:41.090 に答える