0

我有一个我正在尝试创建的应用程序,但是我被卡住了。

我正在尝试在我的代码中访问该站点的 MySQL 查询。

现在我只是想测试它,以确保它有效,但我没有运气。

我想我只是忽略了一些简单的事情,但我不确定。有什么帮助吗?

class DBConnect
{
    private MySqlConnection connection;
    private string server;
    private string database;
    private string uid;
    private string password;

    public List<string>[] list = new List<string>[1];

    public DBConnect()
    {
        Initialize();
    }

    private void Initialize()
    {
        server = "localhost";
        database = "XXX";
        uid = "XXX";
        password = "XXX";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + database 
            + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }

    //this will open the connection to MySql
    private bool OpenConnection()
    {
        try
        {
            connection.Open();
            return true;
        }
        //if there is a problem connecting, display one of the following connections
        catch (MySqlException ex)
        {
            switch (ex.Number)
            {
                case 0:
                    MessageBox.Show("Cannot connect to server. Contact Admin");
                    break;
                case 1045:
                    MessageBox.Show("Invalid username/password, please try again");
                    break;
            }
            return false;
        }
    }

    //if the connection fails to connect to MySql server, the client will close the connection.
    private bool CloseConnection()
    {
        try
        {
            connection.Close();
            return true;
        }
        catch (MySqlException ex)
        {
            MessageBox.Show(ex.Message);
            return false;
        }
    }

    //Select statement
    public List<string>[] Select()
    {
        int firstNumber = 2058;
        **string query = "USE `db_order` SELECT `order_id` FROM `order_address` WHERE order_id=2058";**

        //create a list to store the results
        list[0] = new List<string>(0);

        //Open's connection
        if (this.OpenConnection() == true)
        {
            //creates a command from the query.
            MySqlCommand cmd = new MySqlCommand(query, connection);
            //creates a data reader, and executes the command.
            MySqlDataReader dataReader = cmd.ExecuteReader();

            while (dataReader.Read())
            {
                list[0].Add(dataReader["order_id"] + "");
            }

            //close Data Reader
            dataReader.Close();

            this.CloseConnection();

            //returns list to be displayed
            return list;
        }
        else
        {
            return list;
        }
    }
}

这是第二节课(我摆脱了不属于问题的任何内容):

public partial class Form1
{
    private void InitializeComponent()
    {
        // CustName
        // 
        this.CustName.AutoSize = true;
        this.CustName.Location = new System.Drawing.Point(200, 30);
        this.CustName.Name = "CustName";
        this.CustName.Size = new System.Drawing.Size(137, 13);
        this.CustName.TabIndex = 0;
        this.CustName.Text = "Customer\'s name goes here" + new DBConnect().list[0];


    }

    #endregion
}
4

1 回答 1

0

更新

DataReader像这样添加到列表中

  list[0].Add(dataReader["order_id"] + "");

因此,这意味着您有一个multi-dimensional(准确地说是二维)列表数组。因此,要访问您必须执行的操作Select()[0][0],请检查以下内容:

DBConnect() DBCon = new DBConnect();

this.Custname.Text = DBCon.Select()[0].Count>0 ? "Customer\'s name goes here" +DBCon.Select()[0][0].ToString() : "No Customer to show";
于 2013-05-10T03:41:51.227 回答