我在SQL内已经存了一个字串,很长,如最下方
我要变成,将资料切成三栏 序号、产品型号、数量,分成3个row
要怎么把下面的数据抓出来呢?
序号/ 产品型号 /数量
【1】,TB-0759A,1 piece
【2】,AC-07593,1 piece
【3】,AC-07590,1 piece
------------------------------原始字串---------------------------------------
【1】 TOUCHBeauty 3 in1 rotating facial cleansing brush, 2 speed setting with storage case TB-0759A
(产品属性:Ships From:China)
(商家编码:TB-0759A)
(产品数量:1 piece)
【2】 TOUCHBeauty Silicon Facial Cleansing Brush Head AC-07593 for Sensitive Skin Facial cleanser TB-0759A TB-0759D TB-0759M TB-1483
(商家编码:AC-07593)
(产品数量:1 piece)
【3】 TOUCHBeauty Facial Cleansing Brush Replacement Head 0.055 mm PBT AC-07590 for Oily skin Facial cleanser TB-0759A TB-0759DTB-1483
(商家编码:AC-07590)
(产品数量:1 piece)
将这一串取出来之后用String截取呗
使用String的split方法具体如下:
String str = "1,1,3,3";
String [] strs = str.split(",");
用存储过程,或者外部php之类的,
可以按行读取这个字符串,然后切分截取出来,你这些都是有一定特征的
字符串截取成数组,然后循环存入数据库就完事啦
https://blog.csdn.net/BESSINO/article/details/53519468
循环遍历数据 根据固定的字符进行截取 产生数组 然后便利数据 根据固定的顺序吧对应的值放到对应的参数上
using using System.Web.UI.HtmlControls;
在你的table的位置放一个PlaceHolder
然后,在查询按钮的代码里写:
string 条件=" name='"+TextBox1.Text+"' and ....."; //用你的textbox构造起来的sql查询条件
string sql="select * from 表 where "+ 条件; //查询的sql语句。
DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection("数据库连接字符串");
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(sql, conn); ;
da.Fill(dt);
conn.Close();
Table t=new Table();
for (int i = 0; i < dt.Rows.Count; i++)
{
TableRow r = new TableRow();
TableCell c = new TableCell();
c.Text = dt.Rows[i][0].ToString();
r.Cells.Add(c);
t.Rows.Add(r);
}
PlaceHolder1.Controls.Add(t);
可以用正则表达式截取部分,然后分离成数组=》 split函数了解下
用正则提取:
匹配序号: 【\d】
匹配商家编码: ((商家编码:).*)
匹配产品数量: ((产品数量:).*)_
字符串截取成数组,然后循环存入数据库就完事啦就可以了