Такой вопрос
У меня есть две таблицы связанные между собой users и posts
Есть DataGrid
Мне нужно по нажатию кнопки, вытянуть все логины в столбец Users мой вариант:
private void postGridBtn_Click(object sender, EventArgs e)
{
var loadData = cs.LoadFile("DataConnection.xml");
string connString = String.Format("User Id={0};Host={1};Database={2};PWD={3}", loadData.UserId, loadData.Host, loadData.Database, loadData.PWD);
using (NpgsqlConnection conn = new NpgsqlConnection(connString))
{
conn.Open();
using (NpgsqlCommand cmd = new NpgsqlCommand("select * from users", conn))
{
NpgsqlDataReader dr = cmd.ExecuteReader();
List<string[]> data = new List<string[]>();
while (dr.Read())
{
data.Add(new string[1]);
data[data.Count - 1][0] = dr[1].ToString();
}
dr.Close();
conn.Close();
foreach (string[] s in data)
{
postsDataGridView.Rows.Add(s);
}
}
}
}
и далее, чтобы по клику ячейки с определенным юзером, в колонке PostText появлялись все сообщения связанные с этим юзером, при нажатии на другого, колонка с текстом обновлялась только с его сообщениями.
Либо грид разбить на два грида (Users и PostText соотвественно) и связать их
Как такое можно реализовать? Спасибо за помощь
Новое решение
private void GetData()
{
try
{
var loadData = cs.LoadFile("DataConnection.xml");
string connString = String.Format("User Id={0};Host={1};Database={2};PWD={3}", loadData.UserId, loadData.Host, loadData.Database, loadData.PWD);
// Specify a connection string. Replace the given value with a
// valid connection string for a Northwind SQL Server sample
// database accessible to your system.
NpgsqlConnection connection = new NpgsqlConnection(connString);
// Create a DataSet.
DataSet data = new DataSet();
data.Locale = System.Globalization.CultureInfo.InvariantCulture;
// Add data from the Customers table to the DataSet.
NpgsqlDataAdapter usersDataAdapter = new NpgsqlDataAdapter("select * from users", connection);
usersDataAdapter.Fill(data, "users");
// Add data from the Orders table to the DataSet.
NpgsqlDataAdapter postsDataAdapter = new NpgsqlDataAdapter("select * from posts", connection);
postsDataAdapter.Fill(data, "posts");
// Establish a relationship between the two tables.
DataRelation relation = new DataRelation("UsersPosts",
data.Tables["users"].Columns["ID"],
data.Tables["posts"].Columns["UsersIDRecipient"]);
data.Relations.Add(relation);
// Bind the master data connector to the Customers table.
BindingSource usersBindingSource = new BindingSource();
BindingSource postsBindingSource = new BindingSource();
usersBindingSource.DataSource = data;
usersBindingSource.DataMember = "users";
postsBindingSource.DataSource = usersBindingSource;
postsBindingSource.DataMember = "UsersPosts";
usersDataGridView.DataSource = usersBindingSource;
postsDataGridView.DataSource = postsBindingSource;
}
catch (SqlException)
{
MessageBox.Show("To run this example, replace the value of the " +
"connectionString variable with a connection string that is " +
"valid for your system.");
}
}
Ошибка, когда меняю запрос на NpgsqlDataAdapter usersDataAdapter = new NpgsqlDataAdapter("select Login from users", connection);
Пробывал еще экранировать кавычками NpgsqlDataAdapter usersDataAdapter = new NpgsqlDataAdapter("select \"Login\" from users", connection); выдает другую ошибку
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создать класс Банк, с использование события ввода пин-кода(если неверный, повторить попытку) снятие и пополнение на счетКласс создал, но с пин-кодом...
Написал программу которая должна раз в секунду проверять ping до двух серверовПроблема в том, что примерно через 15 минут таски перестают выполняться