1

我面临一个问题,当我创建自己的类时,我想创建 Mysql 连接函数并且我想在我的所有表单中使用它我这样做

程序.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#

请帮助我,我还有另一个 q 我应该在课堂和形式中使用 .... 还是在课堂上足够了?

谢谢

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

要回答您最初的问题,在我看来您已经创建了您正在寻找的连接。接下来的步骤是了解 SqlCommand 类。

如需参考/启发,请尝试此链接,并祝您编码愉快!

于 2012-12-28T19:48:05.527 回答
0

我怀疑你想从你的conncting()方法返回一个连接?

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

要回答您的第二个问题,是的,尽可能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 回答