问个有难度的问题:
字符串:BJ#001#Q31,500,2000#Q24,500,2000#Q04,600,2500#Q35,650,2500#Q48,700,3200#Q42,750,3500#Q66,800,4000#TABLE
CREATE TABLE WW_TEST
(
WW_CITYID VARCHAR2(20), //城市ID
WW_MARKETID VARCHAR2(20),//商超ID
WW_PLUID VARCHAR2(50), //物料ID
WW_QTYSOLD VARCHAR2(50),// 数量
WW_AMOUNT VARCHAR2(50) // 金额
)
把上面的字符串分割到下面的table里,前两个#号隔开的固定了,后面的循环插入。
string[] ssArray = s.Split('#');
for (int j = 2; j <= ssArray.GetUpperBound(0); j++)
{
string[] sArray = ssArray[j].Split(',');
string sql1 = "insert into ww_test values" +
"('"+ sArray[0] + "','"
+ sArray[1] + "','"
+ sArray[2] + "','"
+ sArray[3] + "','"
+ sArray[4] + "',')";
ocomm.CommandText = sql1;
ocomm.ExecuteNonQuery();
}
}
上面的代码,如果没有 城市ID和商超ID,是可以插进去的。
字符串:BJ#001#Q31,500,2000#Q24,500,2000#Q04,600,2500#Q35,650,2500#Q48,700,3200#Q42,750,3500#Q66,800,4000#TABLE
CREATE TABLE WW_TEST
(
WW_CITYID VARCHAR2(20), //城市ID
WW_MARKETID VARCHAR2(20),//商超ID
WW_PLUID VARCHAR2(50), //物料ID
WW_QTYSOLD VARCHAR2(50),// 数量
WW_AMOUNT VARCHAR2(50) // 金额
)
把上面的字符串分割到下面的table里,前两个#号隔开的固定了,后面的循环插入。
string[] ssArray = s.Split('#');
for (int j = 2; j <= ssArray.GetUpperBound(0); j++)
{
string[] sArray = ssArray[j].Split(',');
string sql1 = "insert into ww_test values" +
"('"+ sArray[0] + "','"
+ sArray[1] + "','"
+ sArray[2] + "','"
+ sArray[3] + "','"
+ sArray[4] + "',')";
ocomm.CommandText = sql1;
ocomm.ExecuteNonQuery();
}
}
上面的代码,如果没有 城市ID和商超ID,是可以插进去的。
Match match = Regex.Match(s, @"(?<cityId>\w+)#(?<etId>\w+)(?<value>.+)");
string cityId = match.Groups["cityId"].Value;
string etId = match.Groups["etId"].Value;
string[] rows = match.Groups["value"].Value.Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string row in rows)
{
string[] columns = row.Split(',');
string sqlStr = string.Format("insert into 表名 values('{0}','{1}','{2}','{3}','{4}')", cityId, etId, columns[0], columns[1], columns[2]);
Response.Write(sqlStr + "<br/>");
}
输出:insert into 表名 values('BJ','001','Q31','500','2000')
insert into 表名 values('BJ','001','Q24','500','2000')
insert into 表名 values('BJ','001','Q04','600','2500')
insert into 表名 values('BJ','001','Q35','650','2500')
insert into 表名 values('BJ','001','Q48','700','3200')
insert into 表名 values('BJ','001','Q42','750','3500')
insert into 表名 values('BJ','001','Q66','800','4000')