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

Вниз

Помогите решить проблемму table read only   Найти похожие ветки 

 
slaviq   (2004-09-20 14:42) [0]

кьери ругается что таблица в режиме только чтения но запись добавляет, вопщем настройки:
Database(DATABASE NAME=art_item
USER NAME=admin
OPEN MODE=READ/WRITE
PASSWORD=asdasdas
)алиас настроен через ОДБС в винде и прекрасно работает (с ним точно проблемм нет)
у кьери стоит реквестлив=тру
кьери запрос заполняется немного рагульно - но в СКЛ Менеджере работает:
  Close;
  SQL.Clear;
  SQL.Add("INSERT INTO art");
  SQL.Add("(ID, Name, Artik, Groupe, Col, Sc, color, mat, line)");
  SQL.Add("SELECT MAX(ART.ID) + 1, :Name, :Art, GROUPE.ShortName, :Col , 0,");
  SQL.Add("-1, COLORS.ID, LINES.ID");
  SQL.Add("FROM ART, GROUPE, COLORS, LINES");
  SQL.Add("WHERE GROUPE.LongName = :Groupe AND");
  SQL.Add("    Colors.Color = :Color AND LINES.Name = :Line");
  SQL.Add("GROUP BY Groupe.ShortName, colors.ID, LINES.ID");

  Parambyname("Name").AsString:=Form1.NamB.Text;
  Parambyname("Art").AsString:=Art;
  Parambyname("Groupe").AsString:=Grup;
  Parambyname("Col").AsString:=Form1.ColB.Text;
//   Parambyname("podgrupa").AsString:=Podgr;
  Parambyname("Color").AsString:=Color;
  Parambyname("Line").AsString:=Line;
  ExecSQL;

Через трай делать без ексепта - гониво - а вдруг реальная ашиПка будет - лучше уж ее ловить ....
Кстати еще одна особенность - если у кьери поставить реквест лив тру и открывать в одном датбейсе по порядку несколько таблиц - то первая открывается (ну там например открыл чтото заполнил, закрыл) то если открывать вторую табличку - начинает ругаться про неправильнось составления запросика :(
Помогите плиз. Может стоит чтото поменять в СКЛ запросе - через там процедуры и все такое, только я в этом не силен :(
Буду рад любым пропозициям! Зарание 10х!


 
Ega23 ©   (2004-09-20 15:13) [1]

Вообще-то я бы сделал через ХП:

exec sp_ArtInsert @Nam=:Name, @Art=:Art, @GroupeLongName=:Groupe, ...

А в процедуре уже делал сначала все предварительные селекты, потом инсерт, ну и результат клиенту неплохо передать, чтобы спозиционироваться на него.

Да, кстати, более правильно будет SELECT MAX(IsNull(ART.ID,0)) + 1


 
slaviq   (2004-09-20 15:36) [2]

кстати, а результат как передать????
процедуркой щас займусь .... 10Х!


 
Ega23 ©   (2004-09-20 15:48) [3]

Ну, типа того:

if exists (select * from sysobjects where id = object_id(N"[s_ArtEdit]") and OBJECTPROPERTY(id, N"IsProcedure") = 1)
drop procedure [s_ArtEdit]
GO

CREATE PROCEDURE s_ArtEdit
@mode int=1, -- 1- Add, 2- Edit, 3-Delete
@ArtID int=0,
@Name varchar(...),
@Art ...
@Grope
@Col
@Color
@Line

As
declare
@result int


Set Nocount On

if @mode=1
begin
 Select @result= MAX(IsNull(ART.ID,0)) + 1
 Insert into .....

end

if @mode=2
begin
 Updete Arts set ....   where ArtID=@ArtID

end

if @mode=3
begin
 Delete Arts where @ArtID=@ArtID
end

return(@result)

go


Вызов на добавление с клиента:


Declare @X int Set NoCount On
exec @X=s_ArtEdit @Mode=1, @Name=:Name, @Art=:Art, @GroupeLongName=:Groupe, ...
Set NoCount OFF
Select X=@X";


Эту строку отписываешь в Query1.Sql.Text, потом


try
Query1.Open;
Result:=Query1.FieldByName("X").AsInteger;


Вот в таком вот ключе.
Дерзай!


 
slaviq   (2004-09-20 16:01) [4]

ууууууу.......
СПАСИБКИ!!!!!!!!! ВАПЩЕ БЛИН СУПЕР!!!! :)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.04 c
14-1096438028
fathe
2004-09-29 10:07
2004.10.17
первые сети


1-1096919204
KiD
2004-10-04 23:46
2004.10.17
Поиск директорий по списку


11-1080335740
nester
2004-03-27 00:15
2004.10.17
Почему не работают события popupmenu в trayicon


14-1096293438
QuasiLamo
2004-09-27 17:57
2004.10.17
Пинг


4-1094897871
Master Kolyan
2004-09-11 14:17
2004.10.17
Работа с кластерами ЖД посредством процедур и функций Delphi





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