首页 新闻 赞助 找找看

C# 文本数据(所有数据存放在textbox中,且会定时更新),求解将textbox中的文本拆分放到sql表中

0
悬赏园豆:15 [已解决问题] 解决于 2019-07-14 14:13

textbox中的内容格式如下:
2019/05/28 18:32:26 : W20041700221{PT04Y220 CQW{X22-0704{110
110

求解将以上内容拆分成至少3段,并存入数据库中。如:ID=0,SN=W20041700221,PN=PT04Y220 CQW,Type =X22-0704,Qty=110(换行的110是重复的,需要去掉,{也是多余的)。每次更新的数据,都需要不重复的读入到数据库中,ID会依次先后更新。希望用C#来做这一块,目前数据可以从textbox读取,就是无法拆分这一长串字符串,并按预想的写入数据库中。

wzz0104的主页 wzz0104 | 初学一级 | 园豆:187
提问于:2019-05-29 15:33
< >
分享
最佳答案
0

你这个格式是固定的吗,如果固定,可以用 Split(' ') 拆分,或者用正则匹配,多发几条数据来看看

收获园豆:15
三人乐乐 | 老鸟四级 |园豆:4819 | 2019-05-30 11:59

目前手头只有这一个:K19052000143{CL10A106MP8NNNC{RECEIVE{224

最后一小串数字代表数量,是不确定的。
K19052000143代表跟踪号,定长;CL10A106MP8NNNC代表物料号,定长;224代表数量,数量可能是上百,也可能是224000,不确定的范围。

可以用sustring来处理,初步有效,但是后期数据量起来后,还要和另一个数据库比对,比以上问题描述更复杂。但当前主要是先把数据取出来,再看后面的需求。

wzz0104 | 园豆:187 (初学一级) | 2019-05-30 18:44

@wzz0104: 正则:

string text = @"2019/05/28 18:32:26 : K19052000143{CL10A106MP8NNNC{RECEIVE{224";
Regex reg = new Regex(@"(: .*?){(.*?){(.*?){([0-9]*)");
if (reg.IsMatch(text))
{
    var res = reg.Match(text);
    Console.WriteLine("SN:" + res.Result("$1") + "\r\nPN:" + res.Result("$2") + "\r\nType:" + res.Result("$3") + "\r\nQty:" + res.Result("$4"));
}
三人乐乐 | 园豆:4819 (老鸟四级) | 2019-05-31 10:29

谢谢你的回复。
TextBox中的文本内容如下:(文本框中的内容串码会实时更新,当前只是选一段串码测试,后期会是动态的多行字符串,但只有首码230和尾码230为不固定长度的,其他部分固定)
监听成功!!!
127.0.0.1:57968连接成功
127.0.0.1:57968--2019/5/31 11:09:59:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:00:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:01:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:01:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:01:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:02:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:02:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:02:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:02:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:02:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:03:
230
K19041700221{WR04X220 JTL{Q22-0704{230
127.0.0.1:57968--2019/5/31 11:10:03:
230
K19041700221{WR04X220 JTL{Q22-0704{230

图片截图如下:

wzz0104 | 园豆:187 (初学一级) | 2019-05-31 11:12
其他回答(2)
0

为什么无法拆分?

会长 | 园豆:12401 (专家六级) | 2019-05-29 16:34

刚接触这一块,不才,还请指导。

支持(0) 反对(0) wzz0104 | 园豆:187 (初学一级) | 2019-05-29 16:40
0
花飘水流兮 | 园豆:13560 (专家六级) | 2019-05-29 17:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册