使用用户输入和数据库值生成序列

时间:2016-08-29 20:26:01

标签: c# asp.net sql-server

我正在尝试使用存储在数据库和用户输入中的值来弄清楚如何创建数字序列。我有一个生成条形码的webapp。我知道我的问题在于我的嵌套for循环。无论我存储在数据库中的值是什么,我都希望用户从该数字开始,并生成用户从该数字开始输入的条形码数量。循环奇怪地迭代,如果输入的值小于数据库中的值,它将不会生成任何图像。如果我输入的值大于数据库中的值,它将只生成许多图像,这些图像是输入的内容与数据库中的内容之间的差异。

CREATE TABLE AccountTable
(
   RowID int IDENTITY(1, 1),
   AccountID varchar(2),
   AccountName varchar(50),
   SeqNum int,
   SeqDate datetime
)  

protected void Btn_Click(object sender, EventArgs e)
(
     CultureInfo provider = CultureInfo.InvariantCulture;
     System.Globalization.DateTimeStyle style = DateTimeStyle.None;
     DateTime dt;
     DateTime.TryParseExact(datepicker.Text, "mmddyyyy", provider, style out dt);
     int i = Int32.Parse(amount.Text);

    SqlConnection conn = new SqlConnection(GetConnectionString());
    SqlCommand cmd = new SqlCommand();
    cmd.Text = "SELECT MAX(SeqNum) as k FROM AccountTable;";
    cmd.Connection = conn;

    foreach(List item in CheckBoxList1.Items)
    {    
        conn.Open();
        var k = Convert.Int31(cmd.ExecuteScalar());
        for(int n = k; n <= i; n++) 
        {

           if (item.Selected)
           {

              System.Web.UI.WebControls.Image img = new System.Web.UI.WebControls.Image();
              string barcode_label = item.Text + "QTY:___________"


             string barode_data = item.Value + datepicker.Text + n.ToSTring("D2");

             Bitmap dynImage = DrawBarcode(barcode_data, barcode_label)

             MemoryStream ms = new MemoryStream();

             dynImage.Save(ms, ImageFormat.Jpeg);

             byte[] byteImage = ms.ToArray();

             Convert.ToBase64String(byteImage);

             img.ImageUrl = "data:image/jpeg;base64," + Convert.ToBase64String(byteImage);

             panel1.Controls.Add(img);

             double spacing;

             double mg = 5;

            spacing = img.Width.Value + mg;

         }

     } 
     conn.Close();
  }

}

0 个答案:

没有答案