2015-04-23 210 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()方法之一。

相关问题