2015-04-23 211 views
0

我有問題,此錯誤:C#錯誤:「填寫:SelectCommand.Connection屬性尚未初始化。」

C# Error: 「Fill: SelectCommand.Connection property has not been initialized.」

我lloked奧爾其他線程,但人民有它建立了自己的客戶有點不同,它沒有幫助。 我不知道,爲什麼這個錯誤顯示。我想它的錯誤在SelectOsoba。 我需要在DataGridView中顯示數據。

我的代碼是:

class Vrstva 
{ 
    public static SqlConnection myConnection; 
    public static string connstr; 
    static DataTable t; 

    public static void createConnect1() 
    { 
     connstr = ConfigurationSettings.AppSettings["local1"]; 
     Vrstva.myConnection = new SqlConnection(connstr); 
    } 
    public static void createConnect2() 
    { 
     connstr = ConfigurationSettings.AppSettings["local2"]; 
     Vrstva.myConnection = new SqlConnection(connstr); 
    } 
    public static void createConnect3() 
    { 
     connstr = ConfigurationSettings.AppSettings["local3"]; 
     Vrstva.myConnection = new SqlConnection(connstr); 
    } 
    public static void openConn() 
    { 
     Vrstva.myConnection.Open(); 
    } 
    public static void closeConn() 
    { 
     Vrstva.myConnection.Close(); 
    } 
    public static SqlDataAdapter Query(string command) 
    { 
     return new SqlDataAdapter(command, Vrstva.myConnection); 
    } 
    public static void NonQuery(string command) 
    { 
     SqlCommand Command = new SqlCommand(command, Vrstva.myConnection); 
     Command.ExecuteNonQuery(); 
    } 
    public static bool login1(string login, string password) 
    { 
     string login1 = ConfigurationSettings.AppSettings["login1"]; 
     string password1 = ConfigurationSettings.AppSettings["password1"]; 
     if (login == login1 && password == password1) 
     { 
      return true; 
     } 
     return false; 

    } 
    public static bool login2(string login, string password) 
    { 
     string login1 = ConfigurationSettings.AppSettings["login2"]; 
     string password1 = ConfigurationSettings.AppSettings["password2"]; 
     if (login == login1 && password == password1) 
     { 
      return true; 
     } 
     return false; 

    } 
    public static bool login3(string login, string password) 
    { 
     string login1 = ConfigurationSettings.AppSettings["login3"]; 
     string password1 = ConfigurationSettings.AppSettings["password3"]; 
     if (login == login1 && password == password1) 
     { 
      return true; 
     } 
     return false; 
    } 

    ////vypis tabulku prislusniku 
    public static DataTable SelectOsoba() 
    { 
     t = new DataTable(); 
     Query("Select * from Osoba;").Fill(t); 
     return t; 
    } 
    //Insert 
    public static void PridejOsoba(string Jmeno, string Prijmeni, string Povolani, int Poc_Det) 
    { 
     NonQuery("Insert into Osoba(Jmeno,Prijmeni,Povolani,Poc_Det) values('" + Jmeno + "','" + Prijmeni + "','" + Povolani + "','" + Poc_Det + "');"); 
    } 
} 
+0

除了這是一個非常糟糕的包裝數據庫操作的方式(一切都是靜態的!Yu!什麼樣的程序將使用它?),你可能還沒有創建連接。我不知道,因爲你沒有顯示調用代碼,但這就是我所猜測的。 –

回答

0

是最有可能被拋出此錯誤,因爲在這條線的連接:

return new SqlDataAdapter(command, Vrstva.myConnection); 

尚未初始化。

在嘗試查詢之前,您必須調用您的createConnectX()方法之一。

相關問題