将逗号分隔的字符串拆分为多个数据库行

时间:2014-01-07 07:53:48

标签: asp.net sql sql-server vb.net comma

如果我有一个string,例如'aaa,bbb,ccc,ddd',我想将每个参数作为一个单独的行插入到db中,这样db表项就像:

+-----+
| aaa |
+-----+
| bbb |
+-----+
| ccc |
+-----+
| ddd |
+-----+

我该怎么做?

string中的参数数量未知;它可以是空的,只有一个参数或多个参数。

编辑1:将值存储到数据库中应该很容易。我的主要问题是如何拆分字符串以及在插入数据库之前存储值的对象类型。

编辑2:string来自文本字段。

3 个答案:

答案 0 :(得分:1)

你可以像这样使用String.Split。

  string str = "aaa,bbb,ccc,ddd";    
  string[] splitstr = str.Split(',');
  foreach(string s in splitstr)
  {
       //your logic to insert into database here
  }

答案 1 :(得分:1)

您可以使用此代码:

Dim s as string = "aaa,bbb,ccc,ddd"  'Or your Textfiled  
Dim stringSpilt as string()
If Not s Is Nothing And s.Length <> 0 Then 
    stringSpilt = s.Split(',')
End If

答案 2 :(得分:-1)

请看这个。

http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/

虽然我觉得你真正想要的东西与你所要求的完全不同,但是你去了。