Форум: "Базы";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
ВнизРабота с ADO Найти похожие ветки
← →
zero-g © (2006-10-30 10:25) [0]Здравствуйте уважаемые коллеги!
У меня вопрос такого содержания...
Хочу соединится с MS SQL Server используя ADO и выполнить чего нить, какой нить скрипт...
Если делать так...
uses DB, ADODB;
...
var ConnectionString: AnsiString;
MainADOQuery: TADOQuery;
...
ConnectionString := "Provider=SQLOLEDB.1; Password = MainPas; User ID = MainUs; Initial Catalog = Master; Data Source = MainSer;";
MainADOQuery := TADOQuery.Create(nil);
MainADOQuery.ConnectionString := ConnectionString;
MainADOQuery.SQL.Text := "Create database Sasha";
MainADOQuery.ExecSQL;
MainADOQuery.Free;
То все работает нормально...
Но эт не интересно =)
Я Делаю так.
uses comobj;
....
var ConnectionString: AnsiString;
ADODBConnection: OleVariant;
....
ConnectionString := "Provider=SQLOLEDB.1; Password = MainPas; User ID = MainUs; Initial Catalog = Master; Data Source = MainSer;";
ADODBConnection := CreateOleObject("ADODB.Connection");
ADODBConnection.CursorLocation := 3;
ADODBConnection.ConnectionString := ConnectionString;
ADODBConnection.Open;
...
Application.MessageBox("Connection OK!", "Information", MB_OK);
...
ADODBConnection.Close;
вот .. ну и собственна сам вопрос.. А как мне Скрипт какой нить выполнить, чего писать надо ???
Соединится то соединяюсь.. но без основной работы смыслов в этом мало (
← →
ANB © (2006-10-30 10:31) [1]Теперь к этому коннекту привязать ADOCommand, запихать ему в текст скл скрипт и пнуть на выполнение.
← →
zero-g © (2006-10-30 11:04) [2]Попробывал пропихнуть ADOCommand выдает ошибку
"Method "Connection" not supported by automation object"
пишу:
uses comobj;
....
var ConnectionString: AnsiString;
ADODBConnection,ADOCommand: OleVariant;
...
ConnectionString := "Provider=SQLOLEDB.1; Password = MainPas; User ID = MainUs; Initial Catalog = Master; Data Source = MainSer;";
ADODBConnection := CreateOleObject("ADODB.Connection");
ADODBConnection.ConnectionString := ConnectionString;
ADODBConnection.Open;
ADOCommand := CreateOleObject("ADODB.Command");
ADOCommand.CommandText := "Create database Sasha";
ADOCommand.Connection := ADODBConnection; // тут вылетает
ADOCommand.Execute;
ADOCommand.Connection := nil;
ADODBConnection.Close;
Application.MessageBox("OK!", "Information", MB_OK);
В чем ошибка подскажите пожалуйста
← →
Плохиш © (2006-10-30 11:16) [3]
> zero-g © (30.10.06 11:04) [2]
Вообще-то любителям вырезать гланды через не стандартное место, рекомендуется почитать справку, потому что в первом же примере написано ActiveConnection, почему вы используете какую-то Connection, совершенно не понятно.
← →
sniknik © (2006-10-30 11:17) [4]не по вопросу, а просто интересно...
где учат вот этому (в каких книгах написано?)
ConnectionString := ;
...
ADODBConnection.ConnectionString := ConnectionString;
?
неужели такая запись понятнее/лучше чем простое
ADODBConnection.ConnectionString :=
"Provider=SQLOLEDB.1;Password=MainPas;User ID=MainUs;Initial Catalog=Master;Data Source=MainSer;"
?
лишняя переменная, + "украшательство" приводящее только к избыточному парсингу параметров...
(наверное в той же книге где советуют ADOQuery вместо ADOCommand :о))))
по вопросу
залезь в модуль ADOInt, изучи... раз уж хочется непосредственно с обьектами
работать, пока (по вопросу) тебе нужны 2 обьекта Connection(_Connection) и Command(_Command)
← →
sniknik © (2006-10-30 11:19) [5]> ADOCommand.Connection := ADODBConnection; // тут вылетает
почитаешь модуль поймешь почему... хотя... ошибку то не понял, с чего решил что по описанию обьекта поймет? ;)
← →
zero-g © (2006-10-31 08:13) [6]Вообще-то любителям вырезать гланды через не стандартное место, рекомендуется почитать справку, потому что в первом же примере написано ActiveConnection, почему вы используете какую-то Connection, совершенно не понятно.
По поводу этого, учится на чужих открытых кодах никто не запрещал... Тем более я это делаю первый раз если че так.
По поводу справки, у мя как таковой нет.. и я ковыряю все что и где найду.
А вот вместо того чтоб казаться умным, могли бы объяснить. Это было бы куда лучше.
не по вопросу, а просто интересно...
где учат вот этому (в каких книгах написано?)
ConnectionString := ;
...
ADODBConnection.ConnectionString := ConnectionString;
?
неужели такая запись понятнее/лучше чем простое
ADODBConnection.ConnectionString :=
"Provider=SQLOLEDB.1;Password=MainPas;User ID=MainUs;Initial Catalog=Master;Data Source=MainSer;"
?
лишняя переменная, + "украшательство" приводящее только к избыточному парсингу параметров...
(наверное в той же книге где советуют ADOQuery вместо ADOCommand :о))))
Мне так больше нравится :-P
по вопросу
залезь в модуль ADOInt, изучи... раз уж хочется непосредственно с обьектами
работать, пока (по вопросу) тебе нужны 2 обьекта Connection(_Connection) и Command(_Command)
За это спасибо. Посмотрю.
ошибку то не понял, с чего решил что по описанию обьекта поймет? ;)
Это было лишнее.
PS>
Уважаемые коллеги
В предь прожу либо отвечать на вопросы или пытаться объяснить, либо вообще не отвечать!
А вот Умничать и казаться умным в определенной области в глазах другого человека тыкая в это его лицом не стоит! Это некоректно с важей стороны.
А вот как я учусь, смотрю открытый код, читаю кники итд.. это сугубо МОЕ личное дело!
А вот в плагиатстве чего чего абвинять не надо, вы этого даже доказать не сможете!
Яко есть Статья УК РФ про кливету.
Спасибо
С уважением.
← →
sniknik © (2006-10-31 08:42) [7]> Мне так больше нравится :-P
если бы тебе одному... а то это просто засилье какоето, практически все начинающие так пишут (некоторые продолжают и научившись), хотя это ничем не оправданно. не может быть чтобы всем одинаково нравилось... скорее вычитали/подсмотрели гдето.
> Это было лишнее.
с чего это? сама ошибка ясно и однозначно указывает причину, а вот по методам ты это определить можеш только косвенно перебирая и сопоставляя.
по аналогии, пытаешься открыть дверь, тебе голосом говорят "закрыто, доступ запрещен", ты не понимая начинаешь озираться и спрашивать окружающих "блин, а че оно не открывается то?"... ??? ну попробуй по другому, попробуй разными способами открыть (до приезда милиции ;о)), может дойдет, хотя самое ясное обьяснение уже прозвучало.
> В предь прожу либо отвечать на вопросы или пытаться объяснить, либо вообще не отвечать!
да нет проблем. договорились!
← →
Anatoly Podgoretsky © (2006-10-31 09:22) [8]Вот и договорились
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c