Я использую MVC4 с Visual Basic для создания веб-системы. Но когда мне приходится сохранять свои данные в моих таблицах и отношениях, мне нужно сохранить много таблиц. Итак, я делаю это:Лучший способ выполнить множество команд SQL в Visual Basic?
conn.Open()
Dim guardador_datos2 As New SqlCommand("INSERT INTO Creadores (ID_Creador,Usuario) VALUES (" + ultimo_id_creador.ToString() + ", '" + creada_por + "')", conn)
guardador_datos2.ExecuteNonQuery()
conn.Close()
conn.Open()
Dim guardador_datos3 As New SqlCommand("INSERT INTO ReunionCreada_X_Usuario (ID_Reunion,ID_Creador) VALUES (" + ultimo_id.ToString() + "," + ultimo_id_creador.ToString() + ")", conn)
guardador_datos3.ExecuteNonQuery()
conn.Close()
conn.Open()
Dim guardador_datos4 As New SqlCommand("INSERT INTO Reuniones_X_DepartamentoEmpresa (ID_Departamento_X_Empresa,ID_Reunion) VALUES (" + departamento.ToString() + "," + ultimo_id.ToString() + ")", conn)
guardador_datos4.ExecuteNonQuery()
conn.Close()
Я открытия и закрытия SqlConnection
conn
много раз (я только положить три, например, здесь, но на самом деле есть, как 9 conn.Open
и Close
).
Нет ли лучшего способа сделать это? Как только открыть только conn
1 раз и выполнить все? На самом деле, если я это сделаю, он отправляет мне сообщение о том, что соединение действительно открыто
Все ли они связаны с FK? Entity Framework может действительно иметь значение, если это так, предполагая, что изменение базовой технологии - это вариант. – James
. Посмотрите справочную статью об использовании параметризованных операторов SQL, а не конкатенации строк, чтобы собрать ваши заявления. Это наилучшая практика для избегать атак SQL-инъекций, а также проблем с форматом. – Cortright