【发布时间】:2016-02-09 12:45:25
【问题描述】:
我试图解决这个问题,但无法解决相同的列名称,但它不起作用。如何解决?
private void GetData()
{
try
{
dt.Columns.Clear();
dt.Rows.Clear();
char[] alignment = new char[22];
int[] width = new int[22];
dt.Columns.Add("S.No", typeof(int)); alignment[0] = 'C'; width[0] = 20;
dt.Columns.Add("Ad.No", typeof(int)); alignment[1] = 'C'; width[1] = 20;
dt.Columns.Add("Gr No", typeof(string)); alignment[2] = 'L'; width[2] = 60;
//dt.Columns.Add("Father Name", typeof(string));
dt.Columns.Add("Ad. Date", typeof(string)); alignment[3] = 'L'; width[3] = 30;
dt.Columns.Add("[Student Name]", typeof(string)); alignment[4] = 'C'; width[0] = 20;
dt.Columns.Add("Father Name", typeof(string)); alignment[5] = 'C'; width[0] = 20;
string query = "";
if (radioButtonClass.Checked)
{
query = " select ROW_NUMBER() OVER(ORDER BY Class,StudentName) AS [S.No], AdmissionNo as [Ad.No], EnrollmentNo as [Gr No],convert(varchar,AdmissionDate,103)as [Ad.Date],StudentName as [Student Name],FatherName as [Father Name], " +
" from vu_StdAdmissionFeeInfo " +
" where AdmissionDate >='" + dtpform.Value + "' and AdmissionDate<='" + dtpTo.Value + "'" +
"" + (cmbClass.Text.Equals("--Select--") ? "" : " and Class='" + cmbClass.Text + "' ") +
"" + (cmbsection.Text.Equals("--Select--") ? "" : " and Section='" + cmbsection.Text + "' ") +
" order by Class,StudentName";
}
DataTable dt2 = new DataTable();
dt2 = utility.Get(query);
// dt2.Clear();
foreach (DataRow item in dt2.Rows)
{
DataRow dr = dt.NewRow();
dr["S.NO"] = item["S.NO"];
dr["Ad.No"] = item["Ad.No"];
dr["Gr No"] = item["Gr No"];
dr["Ad. Date"] = item["Ad. Date"];
dr["[Student Name]"] = item["[Student Name]"];
dr["Father Name"] = item["Father Name"];
dt.Rows.Add(dr);
}
dt2.Rows.Clear();
// dt.Rows.Clear();
if (dt.Rows.Count > 0)
{
dgvReport.DataSource = null;
dgvReport.DataSource = dt;
}
else
{
dgvReport.DataSource = null;
}
}
}
}
【问题讨论】:
-
列名不应包含
space -
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入
-
当您在 SQL 中执行
As [Student Name]时,您命名的返回列Student Name不带括号。括号只是用来告诉 SQL 空格是名称的一部分。 -
Hemal [广告。日期]还有空间
-
请避免回滚有用的编辑。
标签: c# asp.net sql-server datatable