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 Post[] DbList() { // Build connection string using parameters from portal Post[] posts = new Post[10]; 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)) { 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[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("С добавлением закончено"); } } }