Emmanuel omogo

Emmanuel omogo

  • NA
  • 3
  • 1.3k

System Null Reference Exception

May 28 2018 3:28 AM
Hello, i have solved a challenge of DB connection. Iam now getting this error : system null reference exception when i run this code :
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5. using System.Threading.Tasks;  
  6. using System.Data.SqlClient;  
  7. using System.Data;  
  8. using System.Configuration;  
  9. namespace eMarksCollectorLib  
  10. {  
  11. public class dbClass  
  12. {  
  13. private SqlConnection con;  
  14. private SqlCommand com;  
  15. private SqlDataAdapter adapter;  
  16. private DataSet _data;  
  17. public SqlDataReader reader;  
  18. public DataSet Data  
  19. {  
  20. get { return _data; }  
  21. set { _data = value; }  
  22. }  
  23. public dbClass()  
  24. {  
  25. //con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString); <<<< this is the line of code that has the problem>>>>  
  26. adapter = new SqlDataAdapter("", con);  
  27. com = new SqlCommand("", con);  
  28. _data = new DataSet();  
  29. }  
  30. public void Execute(string sql)  
  31. {  
  32. if (con.State == ConnectionState.Closed) con.Open();  
  33. com = new SqlCommand(sql, con);  
  34. com.ExecuteNonQuery();  
  35. con.Close();  
  36. }  
  37. public int ExecuteReturnID(string sql)  
  38. {  
  39.   
  40. if (con.State == ConnectionState.Closed) con.Open();  
  41. com = new SqlCommand(sql, con);  
  42. return Convert.ToInt32(com.ExecuteScalar());  
  43. }  
  44. public DataTable Select(string sql, string table)  
  45. {  
  46.   
  47. adapter.SelectCommand.CommandText = sql;  
  48. adapter.SelectCommand.Connection = con;// = sql;  
  49. if (_data.Tables.Contains(table))  
  50. {  
  51. _data.Tables.Clear();  
  52. }  
  53. adapter.Fill(_data, table);  
  54. con.Close();  
  55. return _data.Tables[table];  
  56.   
  57. }  
  58. public string ExecuteScalar(string sql)  
  59. {  
  60. string results = "";  
  61. if (con.State == ConnectionState.Closed) con.Open();  
  62. com = new SqlCommand(sql, con);  
  63. results = com.ExecuteScalar().ToString();  
  64. con.Close();  
  65. return results;  
  66. }  
  67. public string ExecuteMyReader(string sql)  
  68. {  
  69. string results = "";  
  70. if (con.State == ConnectionState.Closed) con.Open();  
  71. com = new SqlCommand(sql, con);  
  72. reader = com.ExecuteReader(CommandBehavior.CloseConnection);  
  73. while (reader.Read())  
  74. {  
  75. if (reader[0] != DBNull.Value) results = reader[0].ToString();  
  76. }  
  77. reader.Close();  
  78. con.Close();  
  79. return results;  
  80. }  
  81. public DataTable GetData(string sql, SqlParameter[] sqlParameter)  
  82. {  
  83. DataSet ds = new DataSet();  
  84. SqlCommand cmd = new SqlCommand(sql, con);  
  85. if (sqlParameter != null)  
  86. {  
  87. cmd.Parameters.AddRange(sqlParameter);  
  88. }  
  89. SqlDataAdapter da = new SqlDataAdapter(cmd);  
  90. da.Fill(ds);  
  91. return ds.Tables[0];  
  92. }  
  93. }  
  94. }  
the challenge with the code appears at this section :
  1. public dbClass()  
  2. {  
  3. con = new SqlConnection(ConfigurationManager.ConnectionStrings["con"].ConnectionString);  
  4. adapter = new SqlDataAdapter("", con);  
  5. com = new SqlCommand("", con);  
  6. _data = new DataSet();  
  7. }

Answers (1)