Конференция "Базы" » Как правильно создавать таблицу? [D7, MSSQL]
 
  • Anatoly Podgoretsky © (29.12.09 14:15) [20]
    Вопрос по Дельфи есть?
  • sniknik © (29.12.09 14:15) [21]
    > try не срезает "ексепт" во время design.
    кто такой design? когда его время?

    > но вопрос-то простой?
    только исполнение дурное, а в чем не показано, т.е. исходные данные не все.

    имхо, у компонента либо выставлен асинхронный режим, либо, что более вероятно не используется компонент коннекта.
  • Anatoly Podgoretsky © (29.12.09 14:17) [22]

    Похоже, ты мастеришь таблицы в management
    > studio.

    А чем это чревато?
  • Медвежонок Пятачок © (29.12.09 14:35) [23]
    Ну при чем тут try?

    Убери и увидишь при чем.
  • Медвежонок Пятачок © (29.12.09 14:45) [24]
    Еще раз говорю, drop ошибок не выдает.

    хочешь сказать что ты умнее скл сервера что ли?

    кстати, если дроп ошибок не выдает, тем более убери try.
    может тогда дойдет.
  • Ega23 © (29.12.09 15:06) [25]

    > Только ради вас, я пишу:
    > AdoQuery1.SQL.Text := 'if object_id(''table1'',''U'') IS
    > NOT NULL drop table table1';
    > AdoQuery1.ExecSQL;
    > AdoQuery1.SQL.Text := 'create table ...
    > Результат не меняется. Ребята, вы очень глубокомысленны,
    >  но вопрос-то простой?


    Для тех, кто в танке:


    unit Unit2;

    interface

    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, StdCtrls, DB, ADODB;

    type
     TForm2 = class(TForm)
       ADOConnection1: TADOConnection;
       ADOCommand1: TADOCommand;
       ADODataSet1: TADODataSet;
       Button1: TButton;
       Button2: TButton;
       Label1: TLabel;
       procedure FormCreate(Sender: TObject);
       procedure Button1Click(Sender: TObject);
       procedure Button2Click(Sender: TObject);
     private
       { Private declarations }
     public
       { Public declarations }
     end;

    var
     Form2: TForm2;

    implementation

    {$R *.dfm}

    procedure TForm2.Button1Click(Sender: TObject);
    var
     ss : string;
    begin
     ss := 'Select x=count(*) from test_table';
     try
      ADODataSet1.CommandText := ss;
      ADODataSet1.Open;
      Label1.Caption := ADODataSet1.FieldByName('X').AsString;
     finally
       ADODataSet1.Close;
     end;
    end;

    procedure TForm2.Button2Click(Sender: TObject);
    var
     ss : string;
    begin
     ss := 'if not exists (select 1 from sysobjects where id = object_id(''test_table'') and   type = ''U'') ' +
        'begin  create table test_table (id  int NOT NULL identity(1,1)) end';
     ADOCommand1.CommandText := ss;
     ADOCommand1.Execute;
    end;

    procedure TForm2.FormCreate(Sender: TObject);
    begin
     ADOConnection1.Connected := True;
    end;

    end.

  • ocean (29.12.09 16:46) [26]
    > Ega23 ©   (29.12.09 15:06) [25]
    > Для тех, кто в танке:
    Приведенный код, возможно, отработает, но к моему вопросу отношения не имеет. В моем случае таблица уже есть.
    > ADOQuery1.Connection.CommitTrans;> <Цитата>
    Не помогает.
    > имхо, у компонента либо выставлен асинхронный режим, либо,
    >  что более вероятно не используется компонент коннекта.

    Не совсем понял. Но после замены AdoQuery на AdoConnection все заработало. Спасибо!
  • Ega23 © (29.12.09 16:50) [27]

    > Приведенный код, возможно, отработает


    Приведённый код отработает, без всяких "возможно".
    Если бы не отработал, я бы сюда не запостил.
  • stas © (29.12.09 17:15) [28]
    ocean   (29.12.09 16:46) [26]
    Чего-то я непойму что тебе нужно чем не устраивает Alter table?
  • Плохиш © (30.12.09 14:55) [29]
    А я всё-таки посоветую нанять программиста.
    А то аФФтар тут давно мелькает, а толку ноль...
 
Конференция "Базы" » Как правильно создавать таблицу? [D7, MSSQL]
Есть новые Нет новых   [134435   +33][b:0][p:0.002]