MSSQL и Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

MSSQL и Lazarus

Сообщение Dane » 20.03.2008 19:42:50

Есть:
1. MSSQL Server
2. Windows XP
3. Lazarus 0.9.25

Надо:
Сделать запрос в БД через ODBC (или иначе)

Как реализовано у меня (пример):
Код: Выделить всё
uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, odbcconn, sqldb;

type

  { TForm1 }

  TForm1 = class(TForm)
    ODBCConnector: TODBCConnection;
    MasterQuery: TSQLQuery;
    SQLTransaction1: TSQLTransaction;
    Test: TLabel;
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
 
//for ODBC
  ODBCServerConnect: TODBCConnection;
  SQLMainQuery: TSQLQuery;
  SQLTrans: TSQLTransaction;

implementation

initialization
  {$I Unit1.lrs}

begin
  ODBCServerConnect := TODBCConnection.Create(nil);
  with ODBCServerConnect do
  begin
     DatabaseName := 'SomeDataBase';
     HostName := 'MSSQLServer';
     Driver := 'SQL Server';
     Password := 'pass';
     Username := 'sa';
     Open;
  end;
  SQLTrans := TSQLTransaction.Create(nil);
  SQLTrans.DataBase := ODBCServerConnect;
 
  SQLMainQuery := TSQLQuery.Create(nil);
  with SQLMainQuery do
  begin
     DataBase := ODBCServerConnect;
     Transaction := SQLTrans;
     SQL.Clear;
     SQL.Add('SELECT * FROM claim WHERE inc=12');
     Open;
  end;
 
  SQLMainQuery.Close;

  SQLMainQuery.Free;
  ODBCServerConnect.Free;
end;


На выходе получаю ошибку "invalid field size: 37". Что не так?

P.S. Запрос (как этот, для примера, так и тот, который нужен) в самом MSSQL выполняется правильно и не пустой.
Dane
новенький
 
Сообщения: 27
Зарегистрирован: 02.02.2008 23:49:44

Re: MSSQL и Lazarus

Сообщение yser » 21.03.2008 09:20:23

вот здесь есть рабочий пример как раз для MSSQL
http://freepascal.ru/forum/viewtopic.php?p=21741#21741
yser
новенький
 
Сообщения: 29
Зарегистрирован: 06.02.2008 11:27:40

Сообщение Dane » 21.03.2008 10:00:53

Спасибо, буду изучать. Странно, что на мой поиск по ключевому слову MSSQL он мне эту тему не выдал, поэтому, поискав слова SELECT и др., решил, что я такой первый и придется создать тему. Т.ч.примите мои извинения.
Dane
новенький
 
Сообщения: 27
Зарегистрирован: 02.02.2008 23:49:44

Сообщение Dane » 21.03.2008 17:39:53

Нет, не работает
Dane
новенький
 
Сообщения: 27
Зарегистрирован: 02.02.2008 23:49:44

Сообщение yser » 21.03.2008 17:55:42

Dane писал(а):Нет, не работает

у меня работает (проверял на нескольких машинах) ...
может ошибся при написании в сервер/база/пароль/запрос?

добавлено:
у меня - lazarus 0.9.24 / fpc 2.2.0
только что скачал бинарник и еще раз попробовал - работает
yser
новенький
 
Сообщения: 29
Зарегистрирован: 06.02.2008 11:27:40

Сообщение Dane » 21.03.2008 18:17:48

Значит так. Исследование показало:
1. Бинарник, вроде как работает
2. Если запускать с исходника, то как бы ни старался вылетает ошибка "invalid field size: 37"
Может что-то не так в настройках компилятора?

Господа, очень нужен ответ, плз!!!
Dane
новенький
 
Сообщения: 27
Зарегистрирован: 02.02.2008 23:49:44

Сообщение SHURA » 27.03.2008 12:48:19

а может ну его это ODBC? :twisted:
поставить ZEOS DB и наслаждаться? :D
там все просто (обычный датасет) нужно только достать библиотеку ntwdblib.dll для доступа (она есть в поставке с MSSQL)
Аватара пользователя
SHURA
незнакомец
 
Сообщения: 5
Зарегистрирован: 27.11.2007 18:32:26
Откуда: РФ, Киров

Сообщение yser » 27.03.2008 13:09:16

Dane писал(а):Есть:
1. MSSQL Server
2. Windows XP
3. Lazarus 0.9.25

yser писал(а):у меня - lazarus 0.9.24 / fpc 2.2.0

Dane писал(а):Значит так. Исследование показало:
1. Бинарник, вроде как работает
2. Если запускать с исходника, то как бы ни старался вылетает ошибка "invalid field size: 37"
Может что-то не так в настройках компилятора?

Господа, очень нужен ответ, плз!!!

Попробуй скомпилировать в стабильной версии.
Сам попробовал еще раз, все работает.
yser
новенький
 
Сообщения: 29
Зарегистрирован: 06.02.2008 11:27:40

Сообщение Dane » 28.03.2008 09:47:00

Ок. Спасибо всем.
Dane
новенький
 
Сообщения: 27
Зарегистрирован: 02.02.2008 23:49:44


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 7

Рейтинг@Mail.ru