![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что не так? [D6, MSSQL]
Valeris © (2003-01-17 19:36:00)Пишу простую консольную программу которая дожна добавлять записи через ODBC в SQL.
program spalm;
{$APPTYPE CONSOLE}
uses
SysUtils, DBTables;
var DB: TDataBase;
Query: TQuery;
begin
DB:= TDatabase.Create(nil);
DB.AliasName:="revisor_1c";
DB.DataBaseName:="revisor";
DB.LoginPrompt:=False;
try
DB.Connected:=true;
finally
DB.Free;
DB.Connected:=false;
end;
end.
Почему на DB.Connected:=true выкидывает системную ошибку ругается память cannot read и т.д. Наверное что-то не так делаю.
Подскажите плиз что может быть не так.
Valeris (2003-01-20 11:44:00) [1]Спасибо огромнейшое господам sniknik и Anatoly Podgoretsky
sniknik (2003-01-20 11:24:00) [2]гдето чегото путаеш, т.к. текст ADO не приведен то можно только догадыватся где.
вот рабочий код, без проверок на ошибки и т.д. и база подключается однозначно, но тем неменее отрабатывает и таблица создается
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, ADODB, ActiveX;
var
ADOConnection: TADOConnection;
ADOCommand: TADOCommand;
begin
CoInitialize(nil);
ADOConnection:= TADOConnection.Create(nil);
ADOCommand:= TADOCommand.Create(nil);
ADOConnection.ConnectionString:= "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind";
ADOConnection.LoginPrompt:= false;
ADOCommand.Connection:= ADOConnection;
ADOCommand.CommandText:= "CREATE TABLE TestTable (TestField Char(10))";
ADOCommand.Execute;
ADOCommand.Free;
ADOConnection.Free;
coUnInitialize();
end.
Anatoly Podgoretsky (2003-01-20 11:15:00) [3]А чего ты образаешься к DB не проверив, а создалось ли оно вообще, try должен быть сразу после Create, это наряду к тем ошибкам которые тебе указали.
По сути у тебя без ошибки только эта строчка DB:= TDatabase.Create(nil);, остальное чистое везение или в случае с DB.Connected:=false; грубейшая ошибка.
Valeris (2003-01-20 10:51:00) [4]И имя переменной поменял и через ADO попробывал - те же глюки
sniknik (2003-01-20 10:21:00) [5]Через ADO делается без проблем.
Reindeer Moss Eater (2003-01-20 10:20:00) [6]Не надо называть переменные именами стандартных модулей Delphi.
DB.Connected:=true;
Valeris (2003-01-20 10:18:00) [7]У кого может есть какие мысли? хелп
gsu (2003-01-17 19:52:00) [8]сори по 1 пункту, даю 20%
gsu (2003-01-17 19:51:00) [9]ха-ха, сори
1. возможно 80%, проверь revisor не существует
2. не DB.Free;
DB.Connected:=false
а DB.Connected:=false
FreeAndNil(DB);
Valeris (2003-01-17 19:48:00) [10]Даже если эту строчку закомментировать будет тоже самое.
gsu (2003-01-17 19:42:00) [11]может revisor не существует