Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

Что не так?   Найти похожие ветки 

 
Valeris   (2003-01-17 19:36) [0]

Пишу простую консольную программу которая дожна добавлять записи через 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 и т.д. Наверное что-то не так делаю.

Подскажите плиз что может быть не так.


 
gsu ©   (2003-01-17 19:42) [1]

может revisor не существует


 
Valeris   (2003-01-17 19:48) [2]

Даже если эту строчку закомментировать будет тоже самое.


 
gsu ©   (2003-01-17 19:51) [3]

ха-ха, сори
1. возможно 80%, проверь revisor не существует
2. не DB.Free;
DB.Connected:=false
а DB.Connected:=false
FreeAndNil(DB);


 
gsu ©   (2003-01-17 19:52) [4]

сори по 1 пункту, даю 20%


 
Valeris   (2003-01-20 10:18) [5]

У кого может есть какие мысли? хелп


 
Reindeer Moss Eater   (2003-01-20 10:20) [6]

Не надо называть переменные именами стандартных модулей Delphi.
DB.Connected:=true;


 
sniknik ©   (2003-01-20 10:21) [7]

Через ADO делается без проблем.


 
Valeris   (2003-01-20 10:51) [8]

И имя переменной поменял и через ADO попробывал - те же глюки


 
Anatoly Podgoretsky ©   (2003-01-20 11:15) [9]

А чего ты образаешься к DB не проверив, а создалось ли оно вообще, try должен быть сразу после Create, это наряду к тем ошибкам которые тебе указали.

По сути у тебя без ошибки только эта строчка DB:= TDatabase.Create(nil);, остальное чистое везение или в случае с DB.Connected:=false; грубейшая ошибка.



 
sniknik ©   (2003-01-20 11:24) [10]

гдето чегото путаеш, т.к. текст 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.


 
Valeris   (2003-01-20 11:44) [11]

Спасибо огромнейшое господам sniknik и Anatoly Podgoretsky



Страницы: 1 вся ветка

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
1-15675
Fill
2003-01-29 20:36
2003.02.06
tabsheet -DBGrid


14-15844
Smok_er
2003-01-22 23:16
2003.02.06
Господа, киньте пожалуйста stdctrls.pas


3-15444
Shil
2003-01-18 00:29
2003.02.06
как можно почитать из SQL базы значение типа IMAge


7-15976
dimich1978
2002-11-29 11:32
2003.02.06
Мастера плиз, определение загруженности процессора


3-15449
mate
2003-01-20 11:15
2003.02.06
MSSQL и Paradox