Главная страница
    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.46 MB
Время: 0.01 c
1-15562
Skywalker
2003-01-28 16:35
2003.02.06
OnKeyDown и звонок


3-15404
OlkaGTS
2003-01-21 16:42
2003.02.06
Дать возможность повторно вводить пароль при ошибках соединения


1-15569
pnt
2003-01-28 17:09
2003.02.06
Чем отличаеться Версия Делфи PRO от Enterprise


3-15397
Sergeyy
2003-01-21 11:37
2003.02.06
Копирование данных из массива в таблицу Access


14-15893
Axel
2003-01-17 18:06
2003.02.06
. NET books





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский