using Npgsql; namespace NeDvachAPI { public class DBchat { // Obtain connection string information from the portal private static string Host = "postgres.vdk2ch.ru"; private static string User = "postgres"; private static string DBname = "postgres"; private static string Password = "postgres"; private static string Port = "5432"; public static List DbList() { // Build connection string using parameters from portal //Post[] posts = new Post[10]; List posts = new List(); //int postCount = 0; string received = ""; string connString = String.Format( "Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer", Host, User, DBname, Port, Password); using (var conn = new NpgsqlConnection(connString)) { conn.Open(); // using ( var command = new NpgsqlCommand(@" // SELECT * FROM // (SELECT post_id, substring(post,1,200) // FROM dvach // ORDER BY post_id DESC // limit 10 // ) // subquery ORDER BY post_id ASC", conn) ) using ( var command = new NpgsqlCommand(@" SELECT * FROM ( SELECT post_id, post FROM dvach ORDER BY post_id DESC ) subquery ORDER BY post_id ASC", conn) ) { var reader = command.ExecuteReader(); while (reader.Read()) { //received +=( //string.Format( //"#{0}: {1}" + "\n", // reader.GetInt32(0).ToString(), //reader.GetString(1) //) //); Post receivedPost = new() { Date = DateTime.Now, Id = reader.GetInt32(0), Text = reader.GetString(1) }; posts.Add(receivedPost); //posts[postCount] = receivedPost; //postCount++; } reader.Close(); } } return posts; } public static void DbUpdate(string id, string text) { // Build connection string using parameters from portal string connString = String.Format( "Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer", Host, User, DBname, Port, Password); using (var conn = new NpgsqlConnection(connString)) { //Console.Out.WriteLine("Opening connection"); conn.Open(); using (var command = new NpgsqlCommand("UPDATE dvach " + "SET post = @postText WHERE post_id = @ID", conn)) { command.Parameters.AddWithValue("ID", int.Parse(id)); command.Parameters.AddWithValue("postText", text); int nRows = command.ExecuteNonQuery(); Console.Out.WriteLine(String.Format("Number of rows updated={0}", nRows)); } } Console.WriteLine("Данные обновлены!"); Console.ReadLine(); } public static void SendPost(Post postToSend) { // Build connection string using parameters from portal // string connString = String.Format( "Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer", Host, User, DBname, Port, Password); using (var conn = new NpgsqlConnection(connString)) { Console.Out.WriteLine("Opening connection"); conn.Open(); using (var command = new NpgsqlCommand(@" INSERT INTO dvach " + @"(post_id, post) VALUES (DEFAULT, @postText)", conn)) { command.Parameters.AddWithValue("postText", postToSend.Text); int nRows = command.ExecuteNonQuery(); Console.Out.WriteLine(String.Format("Number of rows updated={0}", nRows)); } } Console.WriteLine("С добавлением закончено"); } } }