Member 11856456 Ответов: 0

Как добавить номер строки к каждому элементу, выбранному в инструкции insert into select


Проблема, с которой я сталкиваюсь, заключается в том, что когда я использую свой код, он использует одну и ту же ссылочную строку во всех операторах insert into select. Например, если строка 4097 и я запускаю свой код для вставки 4 записей, он будет повторять то же самое число в столбце.

Вот мой код:

Dim lastRow = dtc.Rows.Cast(Of DataRow)().LastOrDefault()
       Dim I As Integer = 0
       I += 1

       Dim laststr As String = lastRow.Item("ID").ToString + I

       'This is for personal information input

       Using sqlconn As New SqlConnection("SQLstring")

           Using da As New SqlDataAdapter(String.Empty, sqlconn)

               Dim sql As New StringBuilder("insert into [")
               sql.Append(TreeView1.SelectedNode.Text.Replace("]", "\]"))
               sql.Append("] (")

               Dim sql1 As New StringBuilder("")

               Dim andRequired As Boolean = False

               If datat.Columns.Contains("ID") Then

                   If andRequired Then
                       sql.Append(", ")
                       sql1.Append(", ")
                   End If

                   sql.Append("[Individual_ID]")
                   sql1.Append(laststr)
                   andRequired = True

               End If

               sql.AppendFormat(") Select " + sql1.ToString + " from table2")
               da.SelectCommand.CommandText = sql.ToString()

               MessageBox.Show(sql.ToString)

               da.Fill(datat)

           End Using

       End Using


Как я могу получить номер строки каждой новой строки, добавленной в столбец?

Что я уже пробовал:

Я попытался повторить итерацию, используя I как целое число.

Dim I As Integer = 0
      I += 1

      Dim laststr As String = lastRow.Item("ID").ToString + I


но он добавляет только первый новый номер строки.

CHill60

Покажите нам настоящий sql-оператор, чтобы я мог понять, что вы пытаетесь сделать. Некоторые примеры данных и ожидаемые результаты также были бы полезны

Member 11856456

На данный момент у меня есть 5 столов. каждая таблица имеет столбец individual_ID, который используется для ссылки на столбец ID моей основной таблицы. Когда я нажимаю на имя в datagridview, я использую идентификатор, чтобы получить все записи, связанные с этим идентификатором, из других таблиц.

Таблицы:
1. ID, First_name, Last_name, DOB
2. ID, Job_title, pay, Idividual_id
3. ID, Time_of_employeement, Individual_ID
просто чтобы дать вам идею

CHill60

Покажите нам настоящий sql-оператор, чтобы я мог понять, что вы пытаетесь сделать. Некоторые примеры данных и ожидаемые результаты также были бы полезны

Gerry Schmitz

Получите "идентификатор"; "посмотрите" на него (чтобы увидеть, действительно ли он содержит то, что вы ожидаете); затем увеличьте его; затем преобразуйте его в строку.

.. вместо того, чтобы преобразовать его в строку, "сцепить" с ним целое число и ожидать чего-то значимого.

Member 11856456

В моей основной таблице я хочу использовать столбец autoincremented ID в качестве ссылки на другие таблицы.

1. ID, First_name, Last_name, DOB
2. ID, Job_title, pay, Idividual_id
3. ID, Time_of_employeement, Individual_ID

Таким образом, столбец Invidiual_ID таблицы 2, Если есть информация, связанная с этим человеком, должен содержать номер столбца ID основной таблицы, таблицы 1. то же самое с 3-й таблицей. Я импортирую данные в эти таблицы, но хочу убедиться, что они ссылаются на нужного человека.

0 Ответов