Можно ли выполнить из Visual Basic Transact SQL?

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
fedoseev
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.07.2003 (Пн) 8:46

Можно ли выполнить из Visual Basic Transact SQL?

Сообщение fedoseev » 26.01.2004 (Пн) 15:06

Можно ли выполнить из Visual Basic Transact SQL?
Например как выполнить такую команду?
Или например этот запрос хранится в текстовом файле... , то как вызвать этот файл на исполнение на Visual Basic?



if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[REPORTS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[REPORTS]
GO

CREATE TABLE [dbo].[REPORTS] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[ObjectName] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[DateTime] [datetime] NOT NULL ,
[NVAL] [float] NULL ,
[NAME] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL
) ON [PRIMARY]
GO

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 26.01.2004 (Пн) 15:28

Подключить к проекту библиотеку ADO и юзать тамшний метод OpenRecordset от объекта Connection.

fedoseev
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.07.2003 (Пн) 8:46

Сообщение fedoseev » 26.01.2004 (Пн) 15:35

Типа

Dim dbObject As ADODB.Connection
Set dbObject = New ADODB.Connection

dbObject.Open dbConnectionString
dbObject.Execute("bla bla bla")

Так что ли?
Я так пробовал не работает...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 26.01.2004 (Пн) 15:37

Код: Выделить всё
cnn.BeginTrans
...
cnn.CommitTrans

где cnn - ADODB.Connection
Lasciate ogni speranza, voi ch'entrate.

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 26.01.2004 (Пн) 15:57

fedoseev писал(а):Я так пробовал не работает...

Ты ему говорил, что это adCmdText?

dbObject.Execute sQueryFromFile, ,adCmdText

fedoseev
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.07.2003 (Пн) 8:46

Сообщение fedoseev » 26.01.2004 (Пн) 16:11

Да у меня ошибка: Incorrect syntax near 'GO'
:cry:

fedoseev
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.07.2003 (Пн) 8:46

Сообщение fedoseev » 26.01.2004 (Пн) 16:24

вот так работает

CREATE TABLE [dbo].[REPORTS] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[ObjectName] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[DateTime] [datetime] NOT NULL ,
[NVAL] [float] NULL ,
[NAME] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL
) ON [PRIMARY]

а с GO не работает

CREATE TABLE [dbo].[REPORTS] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[ObjectName] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL ,
[DateTime] [datetime] NOT NULL ,
[NVAL] [float] NULL ,
[NAME] [char] (10) COLLATE Cyrillic_General_CI_AS NOT NULL
) ON [PRIMARY]
GO

fedoseev
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 21.07.2003 (Пн) 8:46

Сообщение fedoseev » 26.01.2004 (Пн) 16:26

Я все понял надо убирать GO... Тогда все работает!

Всем Спасибо за внимание!


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList