рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ 2 (Postgresql + asp.net)

рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдПрдХ рдХрд╛рдо рдерд╛, рдкреЛрд╕реНрдЯрдЧреНрд░реИрд╕реНрдХрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрдирд╛ред рдореЗрд░реЗ рдЕрдлрд╕реЛрд╕ рдХреЗ рд▓рд┐рдП, PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдирдХ рдПрдбрд╛рдкреНрдЯрд░ рдирд╣реАрдВ рдерд╛, рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдХрд┐ рдпрд╣ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдореБрдлреНрдд) рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред
рдЕрдВрдд рдореЗрдВ, рдЗрд╕реЗ Npgsql рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдФрд░ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдореБрдЭреЗ рдпрд╣ рддрдереНрдп рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рд╣реА рддрд░рд╣ рдХрд╛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдХрд╛рд░реНрдп рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рдд рдмрдирд╛рдИ рдЧрдИ рдереАред

рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
1. рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ web.config рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВ
2. рдХрдИ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░рдгрд╛рд▓реА рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)


web.config рд╕реЗ рдирдореВрдирд╛ рднрд╛рдЧ
<appSettings> <!--    --> <add key="ProviderName" value="PostgreSQL" /> <add key="DataBase" value="DataBaseName" /> <add key="Port" value="80" /> <add key="Host" value="DataBaseHost" /> <!--        --> <add key="UserName0" value="UserNameCore" /> <add key="Password0" value="PasswordCore" /> <add key="Schema0" value="SchemaCore" /> <!--      1   --> <add key="UserName1" value="UserNameModule1" /> <add key="Password1" value="PasswordModule1" /> <add key="Schema1" value="SchemaModule1" /> </appSettings> 


рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рдореЗрдВ, рдЖрдк рдирд┐рд░рдВрддрд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рд░рд╛рдВрдХ рднреА рдШреЛрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  public static int mkCore = 0; public static int mkModule1 = 1; 


рдХрдХреНрд╖рд╛ WRKDataBase рдХреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддрд░реАрдХреЗ
  public WRKDataBase(int module) //   public bool Connected() // ,         public NpgsqlConnection CreateConnection() //     public DbCommand CreateCommand(string SQLString) // "" private bool RepairCommand(DbCommand Command, string SQLString) //  "" ,       public void AddCommandParam(ref DbCommand Command, string Param_name, object Param_value, DbType Type) //   "" public void AddCommandParamNull(ref DbCommand Command, string Param_name) //     NULL public bool CommandExecute(string SQLString="") //  sql  public bool CommandExecute(DbCommand Command) //  "" public DbDataReader CreateReader(string SQLString) // ""  sql  public DbDataReader CreateReader(DbCommand Command) //  ""  "" public DbDataAdapter CreateDataAdapter(string SQLString) //  "",  SQL  public bool UpdateAdapter(ref DbDataAdapter dbDataAdapter, DataSet dataSet) //   ""  "" public void AddCommandToAdapter( DbDataAdapter datadapter, DbCommand Command, string action ) // "" "" public bool CreateDataSet(DataSet Dataset, string SQLString) //     sql  public bool FillDataSet(ref DataSet dataSet, string SQLString, string datasetTableName) //  ""  sql  public void Dispose() //   

SQL рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ, рддрд╛рд▓рд┐рдХрд╛рдУрдВ, рд╡рд┐рдЪрд╛рд░реЛрдВ, рдХрд╛рд░реНрдпреЛрдВ рдЖрджрд┐ рдХреЗ рдирд╛рдоред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "~" рдореЗрдВ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
  Select id, name from ~years~ 


рдлрд┐рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд░реНрдиреЗрд▓ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛
  WRKDataBase wrkDataBase = new WRKDataBase("".mkCore); 


рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рд╕рддреНрдп рдПрдХ DataSource рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ ObjectDataSourceред ( Msdn рдкрд░ ObjectDataSource рдХрд╛ рд╡рд┐рд╡рд░рдг )

рдПрдХ рдЙрджрд╛рд╣рд░рдг:
рд╡рд╕реНрддреБ рд╡рд┐рд╡рд░рдг рд╡рд░реНрдЧ
  public class sYear { public string god { get; set; } public string naimen { get; set; } public sYear(IDataRecord rec) { if (rec["god"] != null) { god = rec["god"].ToString(); }; if (rec["naimen"] != null) { naimen = rec["naimen"].ToString(); }; } public sYear(string pgod, string pnaimen) { god = pgod; naimen = pnaimen; } } 


рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреА рдХрдХреНрд╖рд╛
  public class sYearDB { public List<sYear> SelectListYear() { WRKDataBase wrkDataBase; wrkDataBase = new WRKDataBase("".mkModule1); List<sYear> ret = new List<sYear>(); ret.Add(new sYear("0", "")); var rdr = wrkDataBase.CreateReader("Select god, god as naimen from ~vyear~ order by god"); while (rdr.Read()) ret.Add(new sYear(rdr)); rdr.Close(); wrkDataBase.Dispose(); return ret; } } 


datasors:
  <asp:ObjectDataSource ID="dsYear" runat="server" SelectMethod="SelectListYear" TypeName="DBNameSpace.sYearDB" DataObjectTypeName="DBNameSpace.sYear"> </asp:ObjectDataSource> 


UPD: рд╕рдВрд╢реЛрдзрд┐рдд рд╡рд░реНрдЧ рд╕рдВрджрд░реНрдн

Source: https://habr.com/ru/post/In215999/


All Articles