你想问的是分列呢还是就是个INSERT语句?
直接解析一下入进去不行么.?
split函数,先切分,再入库.?
或是用正则,解析一下.?
先按照行拆分,每行一条数据;
对每行数据按照空格拆分,可以拆除三个列数据;
对每列数据进行Replace多余字符,提取出你需要的数据;
最后入库。
1.先按照正则表达式匹配每行的姓名,地址和表数据。
2.再循环每行的这三个值,取到后插入数据库即可。
附:代码如下:
form加载时,text1.text为你的那段字符串。
点击button时,循环遍历每行的值,并插入数据库:
private void button1_Click(object sender, EventArgs e)
{
foreach (Match match in Regex.Matches(textBox1.Text, "(.*) 表地址:(\\d+) 表数据:(\\d+.\\d)kwh")) {
string UserName = match.Groups[1].ToString().Trim(); string Address = match.Groups[2].ToString().Trim(); string UserData = match.Groups[3].ToString().Trim(); string sql = string.Format("insert into data values('{0}','{1}','{2}')", UserName, Address, UserData); //以下执行sql语句插入数据库即可
}
}
我现在是在收到的数据里面,用字符串数组存的,让后用数组往数据库里面存。没用过正则,我再看看把。谢谢了
试试SqlBulkCopy
1.将文本用一个TextReader装入
2.使用SqlBulkCopy将TextReader批量写入对应表
读文本文件,然后每行循环 截取字符串,等到你想要的各个字段的插入值
使用SQLServer自带的导入导出向导,导入时数据源选择“平面文件”即可。