Я передаю запрос и параметр из WinForm в класс базы данных.
Код в форме выглядит следующим образом:
string selectedComp = "CPSI";
string catsQuery = "SELECT id, category, old_value, old_desc, new_value, new_desc, reference1, reference2 FROM masterfiles.xref WHERE company_name = '@company' ORDER BY category, old_value";
Db categoriesData = new Db();
dgvCategories.DataSource = categoriesData.GetData(catsQuery, selectedComp);
И в моем классе базы данных мой код для заполнения набора данных / набора таков:
public DataTable GetData(string selectQuery, string selectedComp)
{
NpgsqlConnection conn = new NpgsqlConnection(connString);
DataSet ds = new DataSet();
NpgsqlCommand cmd = new NpgsqlCommand(selectQuery, conn);
cmd.Parameters.Add(new NpgsqlParameter("@company", selectedComp));
//cmd.Parameters.AddWithValue("@company", selectedComp);
//cmd.Parameters.Add("@company", NpgsqlDbType.Text);
//cmd.Parameters["@company"].Value = selectedComp;
try
{
conn.Open();
NpgsqlDataAdapter da = new NpgsqlDataAdapter(selectQuery, conn);
conn.Close();
da.Fill(ds);
return ds.Tables[0];
}
}
Но установка точки останова на NpgsqlDataAdapter da = new NpgsqlDataAdapter(selectQuery, conn);
, selecctQuery
не изменилась - '@company'
все еще находится в запросе.
Что мне не хватает?