隔离列表框行中的值

时间:2016-05-22 15:02:13

标签: c# database string ms-access listbox

我在lisbox中有一条线,我需要这样我可以打印我的收据,以便在我的12年级项目结束时使用。
我的行示例:"cha1 Adidas Stan Smith White 1 2"(填充)。 现在我要做的是像cha1,Adidas stan Smith White,1,2添加到我的Microsoft Access数据库,我以某种方式设法使用子字符串,但我搞砸了我的代码,现在我不能这样做,可以有人请帮帮我?

我以前用过的代码看起来像这样:

 foreach (string item in lstpreview.Items)
            {
            //create the string to print on the reciept
            string nomeproduto = item;

            float quantidade = float.Parse(item.Substring(item.Length -5, 5));
            float precounitario = float.Parse(item.Substring(item.Length - 5, 5));
            string totalproduto = item.Substring(item.Length - 6, 6);

            txt1.Text = Convert.ToString(quantidade);
            txt2.Text = Convert.ToString(precounitario);
            //MessageBox.Show(item.Substring(item.Length - 5, 5) + "PROD TOTAL: " + totalproduto);

            //float totalprice = 0.00f;





        }

2 个答案:

答案 0 :(得分:0)

您说该行已填充,但不提供任何详细信息。如果您知道第一个字段始终是该行的前4个字符,则可以将其与string.Substring隔离:

<template ngFor let-item [ngForOf]="items">
  <li>{{item}}</li>
</template>

和其他领域类似。

P.S。请编辑你的帖子并删除咒骂词。

解析添加的代码后编辑

我不理解你的评论,是什么&#34;你的负面价值&#34;?在调试器中运行代码并找到导致错误的行。请发布确切的错误消息。

是否有理由将子字符串转换为浮点数然后再转换为字符串?我可以想象你可能想验证该字段是否为数字,但是最好使用body

您的第二条评论很有帮助。该行的最后5个字符不是全数字,这就是问题。

答案 1 :(得分:0)

使用这段代码和每个循环来完成它。

string[] caracteresnastring = item.Split(new char[] { ',' }.ToArray());
            string code = caracteresnastring[0];
            string name = caracteresnastring[1];
            string price = caracteresnastring[2];
            string quantity = caracteresnastring[3];