-
Вопрос по Дельфи есть?
-
> try не срезает "ексепт" во время design. кто такой design? когда его время?
> но вопрос-то простой? только исполнение дурное, а в чем не показано, т.е. исходные данные не все.
имхо, у компонента либо выставлен асинхронный режим, либо, что более вероятно не используется компонент коннекта.
-
Похоже, ты мастеришь таблицы в management > studio.
А чем это чревато?
-
Ну при чем тут try?
Убери и увидишь при чем.
-
Еще раз говорю, drop ошибок не выдает.
хочешь сказать что ты умнее скл сервера что ли?
кстати, если дроп ошибок не выдает, тем более убери try. может тогда дойдет.
-
> Только ради вас, я пишу: > 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
public
end;
var
Form2: TForm2;
implementation
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.
-
> Ega23 © (29.12.09 15:06) [25] > Для тех, кто в танке: Приведенный код, возможно, отработает, но к моему вопросу отношения не имеет. В моем случае таблица уже есть. > ADOQuery1.Connection.CommitTrans;> <Цитата> Не помогает. > имхо, у компонента либо выставлен асинхронный режим, либо, > что более вероятно не используется компонент коннекта. Не совсем понял. Но после замены AdoQuery на AdoConnection все заработало. Спасибо!
-
> Приведенный код, возможно, отработает
Приведённый код отработает, без всяких "возможно". Если бы не отработал, я бы сюда не запостил.
-
ocean (29.12.09 16:46) [26] Чего-то я непойму что тебе нужно чем не устраивает Alter table?
-
А я всё-таки посоветую нанять программиста. А то аФФтар тут давно мелькает, а толку ноль...
|