Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中返回字符串数组列表_C#_Mysql_Sql_C# 5.0 - Fatal编程技术网

C# 如何在C中返回字符串数组列表

C# 如何在C中返回字符串数组列表,c#,mysql,sql,c#-5.0,C#,Mysql,Sql,C# 5.0,我是一个完全100%的初学者,所以请原谅我的无知提前 有人能帮我从c数据库查询中返回这个列表数组吗?我正在使用VisualStudio编写一个c应用程序,它连接到我创建的MySQL数据库 这是我遇到问题的代码。我已经搜索了很多次,但我只是不明白的东西,请帮助 public List<string>[] clientList() // Select from customer table in MySQL db { string query = "SELECT "

我是一个完全100%的初学者,所以请原谅我的无知提前


有人能帮我从c数据库查询中返回这个列表数组吗?我正在使用VisualStudio编写一个c应用程序,它连接到我创建的MySQL数据库

这是我遇到问题的代码。我已经搜索了很多次,但我只是不明白的东西,请帮助

public List<string>[] clientList()  // Select from customer table in MySQL db
  {

       string query = "SELECT " + thisItem + " FROM " + thisTable;
       // Create list to store the results result
       List<string>[] list = new List<string>[9];

            list[0] = new List<string>();
            list[1] = new List<string>();
            list[2] = new List<string>();
            list[3] = new List<string>();
            list[4] = new List<string>();
            list[5] = new List<string>();
            list[6] = new List<string>();
            list[7] = new List<string>();
            list[8] = new List<string>();

         if (this.OpenConnection() == true) // Open connection 
            {
                MySqlCommand cmd = new MySqlCommand(query, connection); // Create Command
                MySqlDataReader dataReader = cmd.ExecuteReader(); // Create data reader and Execute command

                // Read data and store in list
                // Request data from SQL db
                Console.WriteLine("AQUIRRING DATA FROM SQL SERVER....");
                while (dataReader.Read())
                {
                    if (thisItem == "*" && (thisTable == "CUSTOMER") || (thisTable == "customer"))
                    {
                        list[0].Add(dataReader["ID"] + "");
                        list[1].Add(dataReader["NAME"] + "");
                        list[2].Add(dataReader["COMPANY"] + "");
                        list[3].Add(dataReader["PLANT"] + "");
                        list[4].Add(dataReader["CITY"] + "");
                        list[5].Add(dataReader["STATE"] + "");
                        list[6].Add(dataReader["CREATED"] + "");
                        list[7].Add(dataReader["VIEWED"] + "");
                        list[8].Add(dataReader["MODIFIED"] + "");

                    }
                    else
                    {
                        list[0].Add(dataReader[thisItem] + "");
                    }
                }    

                dataReader.Close();

                this.CloseConnection(); //Close Connection
                return list[0];         // Return list to be used
            }
            else
            {
                return list[0];         // Return non-updated list if connection failed
            }

有人能帮助解决这个很可能非常简单的问题吗?

最好使用具有数据属性的类来保存您的信息。 写在记事本上,所以请原谅任何错误

public class Whatever
{
    public List<Company> clientList()  // Select from customer table in MySQL db
    {
        string query = "SELECT " + thisItem + " FROM " + thisTable;
        // Create list to store the results result
        List<Company> list = new List<Company>();
        if (this.OpenConnection() == true) // Open connection 
        {
            MySqlCommand cmd = new MySqlCommand(query, connection); // Create Command
            MySqlDataReader dataReader = cmd.ExecuteReader(); // Create data reader and Execute command

            // Read data and store in list
            // Request data from SQL db
            Console.WriteLine("AQUIRRING DATA FROM SQL SERVER....");
            while (dataReader.Read())
            {
                if (thisItem == "*" && (thisTable == "CUSTOMER") || (thisTable == "customer"))
                {
                    Company newCompany = new Company();

                    newCompany.ID = dataReader["ID"].ToString();
                    newCompany.Name = dataReader["NAME"].ToString();
                    ...
                    ...
                    ... (You get the jist of it.)

                    list.add(newCompany);
                }

            }    

            dataReader.Close();

            this.CloseConnection(); //Close Connection
            return list;       // Return list to be used
        }
        return list;
    }
}

public class Company
{
    ID {get;set;}
    NAME {get;set;}
    COMPANY {get;set;}  
    PLANT {get;set;}
    CITY {get;set;}
    STATE {get;set;}
    CREATED {get;set;}
    VIEWED  {get;set;}
    MODIFIED {get;set;}
}

您忘记了c-5.0标记。我正在使用visual basic编写一个c应用程序,它连接到我创建的MySQL数据库。你是说Visual Studio吗?为什么这些标记为C?return list而不是return list[0],它将编译您尝试创建列表列表?谢谢,我喜欢这个解决方案并将尝试实现它,看起来它将简化一些事情。
System.Collections.Generic.List`1[System.String]
public class Whatever
{
    public List<Company> clientList()  // Select from customer table in MySQL db
    {
        string query = "SELECT " + thisItem + " FROM " + thisTable;
        // Create list to store the results result
        List<Company> list = new List<Company>();
        if (this.OpenConnection() == true) // Open connection 
        {
            MySqlCommand cmd = new MySqlCommand(query, connection); // Create Command
            MySqlDataReader dataReader = cmd.ExecuteReader(); // Create data reader and Execute command

            // Read data and store in list
            // Request data from SQL db
            Console.WriteLine("AQUIRRING DATA FROM SQL SERVER....");
            while (dataReader.Read())
            {
                if (thisItem == "*" && (thisTable == "CUSTOMER") || (thisTable == "customer"))
                {
                    Company newCompany = new Company();

                    newCompany.ID = dataReader["ID"].ToString();
                    newCompany.Name = dataReader["NAME"].ToString();
                    ...
                    ...
                    ... (You get the jist of it.)

                    list.add(newCompany);
                }

            }    

            dataReader.Close();

            this.CloseConnection(); //Close Connection
            return list;       // Return list to be used
        }
        return list;
    }
}

public class Company
{
    ID {get;set;}
    NAME {get;set;}
    COMPANY {get;set;}  
    PLANT {get;set;}
    CITY {get;set;}
    STATE {get;set;}
    CREATED {get;set;}
    VIEWED  {get;set;}
    MODIFIED {get;set;}
}