Как использовать use checklistbox для создания инструкции SQL merge delete?
Поэтому благодаря Ричарду я смог позволить пользователям нажимать на элементы checklistbox и использовать их при создании таблицы sql внутри vb.net. Поэтому я попытался взять его потрясающий пример и использовать его аналогичным образом. пока что вот что у меня есть:
Dim cb As New System.Text.StringBuilder("MERGE INTO") Dim tableName As String = ListBox1.SelectedItems(Convert.ToString(tableName)) Dim tablename2 As String = ListBox2.SelectedItems(Convert.ToString(tablename2)) cb.AppendFormat(" [{0}] ", tableName.Replace("]", "]]")) cb.Append("as T") cb.AppendFormat(" using [{0}] ", tablename2.Replace("]", "]]")) cb.Append("As S") ' cb.AppendFormat(", [{0}] nvarchar(max) NULL", tableName.Replace("]", "]]")) For Each item In CheckedListBox1.CheckedItems Dim columnName As String = Convert.ToString(item) cb.AppendFormat("on T." + columnName.Replace("]", "]]") + "[{0}]S." + columnName.Replace("]", "]]")) Next cb.Append(")") Dim sql As String = cb.ToString() sqlcon.Open() Dim cmd As SqlClient.SqlCommand cmd = New SqlClient.SqlCommand(sql, sqlcon) cmd.ExecuteNonQuery() sqlcon.Close()
вот оператор sql, который я пытаюсь использовать в этом коде:
Merge into table1 as T using [table] as S on T.[Last Name] = S.[Last Name] and T.[First Name] = S.[First Name] When Matched then Update Set T.[age] = S.[age]; DELETE T1 FROM [table] T1 JOIN [table1] T2 ON T1.[Last Name] = T2.[Last Name] AND T1.[First Name] = T2.[First name];
Мне нужна помощь, чтобы разобраться с этим. У меня возникли трудности с ands, и должен ли я запустить новый строковый конструктор для when matched и delete from?
Что я уже пробовал:
Я заменил несколько символов, чтобы сделать строку sql точной.