我有一个生成条形码的webapp。
它工作正常,但我想知道是否有一种方法可以按字母顺序以编程方式对结果进行排序。
应用程序从数据库获取信息,基本上是较长名称的首字母,以生成条形码以及日期和应生成的数量的值。
SqlConnection conn = new SqlConnection(GetConnectionString());
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT dbo.groups.groupname, dbo.groups.description FROM dbo.groups ORDER BY dbo.groups.groupname ASC
cmd.Connection = conn;
conn.Open();
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
ListItem item = new ListItem();
ListItem item2 = new ListItem();
item.Text = sdr["groupname"].ToString() + "-" + sdr["description"].ToString();
item.Value = sdr["groupname"].ToString();
item2.Text = sdr["description"].ToString();
item2.Value = sdr["description"].ToString();
cmd.Parameters.AddWithValue("@groupname", groupname);
cmd.Parameters.AddWithValue("@description", description);
groupname.Items.Add(item);
}
}
conn.Close();
}
for (n = 1; n <= i; n++)
{
foreach (ListItem item in BarCode.Items)
{
if (item.Selected)
{
string barCode = item.Value + datepicker.Text + n.ToString("D2");
\\rest of graphics image code
}
{
}
Item.Value来自数据库,它从参数化的sql命令中获取名称。
由于生成的条形码是foreach循环中的1项,因此它将生成用户输入的金额。
条形码的格式描述来自数据库 - 日期 - 数字。如果我选择多个值,例如2,它将生成条形码:
AADATE01 ABDATE01 ACDATE01
AADATE02 ABDATE02 ACDATE02
我的问题是,您可以对生成条形码的顺序进行排序吗? SQL Query确实有一个Ordered By子句。理想情况下它应该生成如下:
AADATE01 AADATE02
ABDATE01 ABDATE02
ACDATE01 ACDATE02
我不关心格式化,我关心的是顺序,是否有办法首先获得所有AA,然后列出下一组等等?