Iam работает на устаревшем приложении VB6. Я пытаюсь выполнить хранимую процедуру, которая будет проходить через кучу таблиц в SQL-SERVER, захватить данные и поместить их в таблицу в SQL-SERVER. Нужно ли объявлять и устанавливать новый набор записей?Выполнение хранимой процедуры в sql-сервере с vb6?
dim strSQL as string
strSQL = "Exec FillEmptyTable @blah = "& blah
Казалось бы, что мне не нужен набор записей, но это не выполняет
Теперь, когда я установил новый набор записей, то он работает
dim rs as adodb.recordset
set rs = new adodb.recordset
dim strSQL as string
strSQL = "Exec FillEmptyTable @blah = "&blah
rs.open strSQL, Connection
Является ли это право ? Я не знаю, зачем мне нужен набор записей, если я только создаю его на стороне SQL-SERVER?
Вам действительно нужно параметризовать это вместо выполнения строки. Есть сотни примеров для этого в VB6. –
Как вы можете видеть из вашего примера, строка 'rs.open strSQL, Connection' является той, которая выполняет запрос на [sql-server]. Если вы не указали эту строку (в первом примере), вы просто создаете строку, которая должна быть выполнена, но строка фактически не отправляется на сервер. Набор записей необходим, потому что [vb6] на самом деле не знает, будут ли данные возвращены. Но вы можете также использовать его, чтобы проверить, выполняется ли запрос как ожидалось. Пусть хранимая процедура возвращает 'ok', если все работает или код ошибки, если что-то пошло не так. – Ralph