c# - Retrieving class property when reading from database -


i have following:

 using (sqlcommand cmd2 = new sqlcommand("", dbcon))                 {                     cmd2.commandtext = @"                         select [pcmf04_pcbpocketname_n]                         ,[pcmf01_pcbconnectorname_n]                         ,[pcmf03_pcbheadername_n]                         ,[pcmf04_keyindex_c]                         ,[pcmf04_sortorder_r]                         [ardsqldev].[dbo].[wpcmf04_pcbpocket]                                                      pcmf03_pcbheadername_n = @pcmf03_pcbheadername_n                          order                              pcmf04_pcbpocketname_n";                      cmd2.parameters.add("@pcmf03_pcbheadername_n", sqldbtype.nvarchar).value = header.headername;                      using (sqldatareader dr = cmd2.executereader())                     {                          while (dr.read())                         {                             var pocket = new pcbpocket(dr.getstring(0));                             pocket.pocketname = dr.getstring(0);                             pocket.pcbconnector.connectorname = dr.getstring(1);                             pocket.keyindex = dr.getstring(3);                             pocket.sortorder = dr.getint32(4);                             header._pcbheaderpockets.add(pocket);                         }                          return header;                     }                 } 

i error on line:

pocket.pcbconnector.connectorname = dr.getstring(1); 

error:

error 2 property or indexer 'pcbconnector.connectorname' cannot assigned -- read

pocket class

  public partial class pcbpocket : iequatable<pcbpocket>, icomparable<pcbpocket>, icomparable         {         public pcbpocket(string pocketname)         {             _pocketname = pocketname;                     }          private string _pocketname = string.empty;         public string pocketname         {             { return _pocketname; }             set { _pocketname = value; }         }          private string _keyindex = string.empty;         public string keyindex         {             { return _keyindex; }             set { _keyindex = value; }         }          private int _sortorder = 0;         public int sortorder         {             { return _sortorder; }             set { _sortorder = value; }         }          private pcbconnector _pcbconnector = null;         public pcbconnector pcbconnector         {             { return _pcbconnector; }             set { _pcbconnector = value; }         } 

connector class

public partial class pcbconnector : iequatable, icomparable, icomparable {

    private collections.pcbconnectorpinlist _pcbconnectorpins = new collections.pcbconnectorpinlist();     public collections.pcbconnectorpinlist pcbconnectorpins     {                 {             return _pcbconnectorpins;         }         set         {             _pcbconnectorpins = value;         }     }      public pcbconnector(string connectorname)     {         _connectorname = connectorname;            }      public pcbconnector(pcbconnector pcbconnector)     {         _connectorname = pcbconnector.connectorname;         _height = pcbconnector.height;         _width = pcbconnector.width;         _active = pcbconnector.active;                   _supplier = pcbconnector.supplier;     }       private string _connectorname = string.empty;     public string connectorname     {         { return _connectorname; }     }      private string _supplier = string.empty;     public string supplier     {         { return _supplier; }         set { _supplier = value; }     }       private float _height = 0;     public float height     {         { return _height; }         set { _height = value; }     }      private float _width = 0;     public float width     {         { return _width; }         set { _width = value; }     }      private bool _active = true;     public bool active     {         { return _active; }         set { _active = value; }     } 

pcbpocket , pbcconnector classes. connectorname property of pbcconnector class. if ignore line, value null, not saved in database , give me object reference not set error. there way can retrieve connectorname value show in datagridview (in different file/form)?

you don't have setter on pcbconnector:

private string _connectorname = string.empty; public string connectorname {     { return _connectorname; } } 

you want:

private string _connectorname = string.empty; public string connectorname {     { return _connectorname; }     set { _connectorname = value; } } 

with said, should note properties can auto-implemented, if you're not concerned default value. example, have:

private int _sortorder = 0; public int sortorder {     { return _sortorder; }     set { _sortorder = value; } } 

this same

public int sortorder { get; set; } 

as int's default value 0 anyways


Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -