Как вставить строковое значение в таблицу - PullRequest
0 голосов
/ 04 декабря 2011

Использование VB6 и SQL Server

Как вставить строковое значение в таблицу

Dim a as string
a = 0008", "0009", "1011", "1208

Я хочу вставить строковые значения в таблицу

Ожидаемый вывод

Table1

ID

0008
0009
1011
1208

Как сделать запрос для вышеуказанного условия.

Нужна справка по запросу.

Ответы [ 3 ]

1 голос
/ 04 декабря 2011

Пожалуйста, попробуйте с помощью приведенного ниже способа:

Dim a as string
a = "0008,0009,1011,1208"
dim strArray as string() = Split(a, ",")

б для каждого элемента в виде строки в strArray

   query = "INSERT INTO  Table1(ID) values('"&item&"')"
   // Write Connection and Command code here
next

Обновление:

Вы можете сгенерировать оператор вставки SQL для каждого элемента за раз, а затем написать код подключения и команды, что будет более эффективным.

dim query as string
for each item as string in strArray
   query = query + "INSERT INTO  Table1(ID) values('"&item&"'); "
next
// Write Connection and Command code here after generating insert statement 
// so that all data will save into database in one shot.
0 голосов
/ 04 декабря 2011

сначала вы должны разбить эту строку на строку []

dim a as string 

a = 0008", "0009", "1011", "1208
dim str as string() = (a.Replace('"',' ')).Split(",")

и если

a = "0008,0009,1011,1208"
dim str as string() = a.Split(",")

теперь добавьте значения в таблицу с запросом в цикле foreach

отображая имя вашей таблицы testTable и имя вашего столбца ID

 dim query as string
 for each item as string in str

            query = "INSERT INTO  testTable(ID) values('"&item&"')"
 next
0 голосов
/ 04 декабря 2011
DECLARE @Str VARCHAR(100)
SET @Str = '0008", "0009", "1011", "1208'
SET @Str = REPLACE(@Str,'"','')
SELECT * FROM [dbo].Split(@Str) 

Вы можете использовать функцию разделения по этой ссылке.
Проверьте эту функцию разделения.
http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/split-string-in-sql-server-2005-clr-vs-t

...