Я получаю дублированные данные в своем GridView
, а вытаскивая информацию с SQL Server. Я использую хранимые процедуры и используя некоторые C# для установки параметров, а затем используя SqlDataSource
, чтобы поместить данные sql из хранимой процедуры в GridView
. Я рассмотрел некоторые другие проблемы, подобные моим, но SQL-скрипты отличались от моих. Я также знаю, что мой C# код работает просто отлично, но я вывешу, что также,Избавление от дублированных данных в GridView
Вот код:
SQL:
SELECT
people.name, comage.age, grad.date
FROM
people
INNER JOIN
(SELECT age, MAX(term)[term]
FROM comage GROUP BY date) comage ON people.term = comage.term
INNER JOIN
(SELECT date, MAX(term)[term]
FROM grad GROUP BY date) grad ON people.term = grad.term
WHERE
people.ID = @ID
ORDER BY
LastName
ASP.net:
<asp:GridView ID="grid" runat="server"></GridView>
C# код:
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "prcedureName";
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameter param = null;
param = cmd.Parameters.Add("@ID",System.Data.SqlDataType.NChar,255);
param.Direction = System.Data.ParameterDirection.Input;
param.value = in; //in is a string of some value
cmd.Connection = con; //con is a SqlConnection of some sort
SqlDataAdapter adp = new SqlDataAdapter(cmd);
SqlCommandBuilder command = new SqlCommandBuilder(adp);
DataTable data = new DataTable();
data.Locale = System.Globalization.CultureInfo.InvariantCulture;
adp.Fill(data);
grid.DataSource = data;
grid.AutoGenerateColumns = true;
grid.DataBind();
Вот таблицы:
люди стол:
--------------------
|name | ID | term |
--------------------
|jeff | 0 | A |
|Jake | 1 | B |
--------------------
comage стол:
--------------------
|Age | Term |
--------------------
|23 | A |
|25 | B |
--------------------
град стол:
--------------------
| Date | Term |
--------------------
| DEC | A |
| SUM | B |
--------------------
[SELECT DISTINCT. , , ;] (http://www.w3schools.com/sql/sql_distinct.asp) - Не эксперт, хотя. –
Я нашел другого человека с той же проблемой, что и я, но он сначала использовал SELECT DISTINCT и все еще имел проблему ... все равно попытаюсь это сделать. –
да, это не сработало для меня, но спасибо за предложение :-) –