Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.02.06;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
1-15632
icWasya
2003-01-23 17:59
2003.02.06
{$Link


1-15734
stim
2003-01-27 23:44
2003.02.06
Как сделать форму невидимой


6-15794
Adrian_Copil_Minune
2002-12-13 11:25
2003.02.06
Общение между клиентом и сервером.


14-15920
Yury
2003-01-21 11:07
2003.02.06
FastNet


3-15514
mate
2003-01-21 11:53
2003.02.06
Запрос в MSSQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский