2014-04-03 32 views
-2

我是一个完整的100%初学者,所以请提前原谅我的无知!如何返回C#中的字符串数组列表#

有人可以帮我从我的c#数据库查询返回这个列表数组吗?我正在使用Visual Studio编写一个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 static List<string>[] queryList = new List<string>[9]; 
queryList = sqlConn.clientList(); // Return client name list 

然而,当我这样做,而不是获取MySQL数据库中的字符串数据,我反而回:

System.Collections.Generic.List`1[System.String] 

有人可以帮助这个,最有可能的,非常简单的问题?

+4

您忘记了'c#-5.0'标签。 –

+2

“我正在编写一个使用visual basic的c#应用程序,它连接到我创建的MySQL数据库。”你的意思是Visual Studio? –

+0

为什么thos标记为“C”? –

回答

2

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

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;} 
} 
+0

谢谢,我喜欢这个解决方案,并试图实现它,它看起来会简化一些东西。 –

相关问题