1

問題に直面しています。独自のクラスを作成するときに、Mysql接続関数を作成したいのですが、すべてのフォーム内でそれを使用したいのですが、これを行います

program.cs

using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System.Xml;
using System.IO;
public class testing
    {
        public string fahadt="Hello Class";




        public  void conncting()
        {


            MySqlConnection connection;
            string cs = @"server=localhost;userid=root;password=;database=taxi";
            connection = new MySqlConnection(cs);
            try
            {

                connection.Open();

            }
            catch (MySqlException ex)
            {
               // MessageBox.Show(ex.ToString());
            }

        }

    }

そして私の形で

private void button7_Click(object sender, EventArgs e)
        {
            testing fahad = new testing();
            try
            {
                dataGridView1.Show();
                fahad.conncting();

                // here is error under fahad.conncting.createcommand();
                MySqlCommand cmd = fahad.conncting.CreateCommand();
                //cmd.CommandText = "SELECT * FROM  ocms_visitors WHERE `id`='"+textBox4.Text+"'";
               // MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
                //textBox4.Text = adap.id;

               // DataSet ds = new DataSet();
               // adap.Fill(ds);

               // dataGridView1.DataSource = ds.Tables[0].DefaultView;
                //MessageBox.Show("Yes Mysql Connection is Working Now  !");
            }
            catch (Exception)
            {
                throw;
            }

        }

私はそれを行う方法がわからないので、非常に新しい= C#

私を助けてください。また、クラスとフォームで....を使用するか、クラスで十分ですか?

ありがとう

4

3 に答える 3

2

あなたは戻る必要がありますMySqlConnection

関数を次のように変更します。

    public  MySqlConnection conncting()
    {


        MySqlConnection connection;
        string cs = @"server=localhost;userid=root;password=;database=taxi";
        connection = new MySqlConnection(cs);
        try
        {

            connection.Open();
            return connection;

        }
        catch (MySqlException ex)
        {
            return null;
           // MessageBox.Show(ex.ToString());
        }

    }
于 2012-12-28T19:54:53.113 に答える
0

メソッドから接続を返したいと思いますconncting()か?

    public MySqlConnection conncting()
    {
        string cs = @"server=localhost;userid=root;password=;database=taxi";
        MySqlConnection connection = new MySqlConnection(cs);
        connection.Open();
        return connection;
    }

2 番目の質問に答えるには、可能であればusing {..}、ブロックを使用することをお勧めします。IDisposableこれには、接続、コマンド、データ アダプターなどが含まれます。次のようなパターンが妥当な場合があります。

    using (MySqlConnection conn = fahad.conncting())
    using (MySqlCommand cmd = new MySqlCommand("select * from table", conn))
    using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
    using (DataTable dt = new DataTable())
    {
        da.Fill(dt);
        // do something with datatable
    }
于 2012-12-28T20:01:19.180 に答える
0

最初の質問に答えるために、探していた接続を既に作成しているように見えます。次のステップは、SqlCommand クラスについて学習することです。

参照/啓発のために、このリンクを試してください。コーディングを楽しんでください!

于 2012-12-28T19:48:05.527 に答える