delphi kbmmw删除记录不';行不通

delphi kbmmw删除记录不';行不通,delphi,Delphi,我尝试用kbmmw componet删除记录 我在客户端使用TkbmMWClientQuery if qSEL_COMP_DEL.Active then qSEL_COMP_DEL.Close; qSEL_COMP_DEL.ParamByName['PPhone_Main'].AsString := qSEL_COMP.FieldByName('Phone_main').AsString; qSEL_COMP_DEL.ParamByName['PID_COMP_USE

我尝试用kbmmw componet删除记录

我在客户端使用TkbmMWClientQuery

    if qSEL_COMP_DEL.Active then
       qSEL_COMP_DEL.Close;

 qSEL_COMP_DEL.ParamByName['PPhone_Main'].AsString := qSEL_COMP.FieldByName('Phone_main').AsString;
 qSEL_COMP_DEL.ParamByName['PID_COMP_USERS'].AsInteger := qSEL_COMP.FieldByName('ID_Comp_Users').AsInteger;

 qSEL_COMP_DEL.Query.Text:='@SEL_COMP_DEL';
 qSEL_COMP_DEL.Execute; // .Open;
 qSEL_COMP_DEL.Resolve;
第一条路

功能

TkbmMWClientQuery.Append/Post;
TkbmMWClientQuery.Resolve;
是工作,但是

TkbmMWClientQuery.Delete;
TkbmMWClientQuery.Resolve;
不起作用

第二条路

我在服务器端使用参数进行了单独的qSEL_COMP_DEL查询

sql代码:

delete from Company_Users Where  Phone_main = :PPhone_main and ID_Comp_Users = :PID_Comp_Users
并在客户端运行它

    if qSEL_COMP_DEL.Active then
       qSEL_COMP_DEL.Close;

 qSEL_COMP_DEL.ParamByName['PPhone_Main'].AsString := qSEL_COMP.FieldByName('Phone_main').AsString;
 qSEL_COMP_DEL.ParamByName['PID_COMP_USERS'].AsInteger := qSEL_COMP.FieldByName('ID_Comp_Users').AsInteger;

 qSEL_COMP_DEL.Query.Text:='@SEL_COMP_DEL';
 qSEL_COMP_DEL.Execute; // .Open;
 qSEL_COMP_DEL.Resolve;
它也不起作用


如何解决问题?

尝试启用服务器端调试以查看它为delete语句生成的内容

在服务器上,在尝试解析之前的某个位置:

kbmMWDebugTypes:=[mwdtDBResolve];
kbmMWDebugWhere:=mwddOneRawTextFile;
kbmMWDebugLevel:=[mwdlAll];
kbmMWDebugFile:='c:\temp\debug.txt';
它将输出生成的SQL和结果以供您解决

还请记住,如果在客户机查询中插入记录,然后将其删除,则在解析过程中不会插入/删除该记录,因为从servers视图中看,它从一开始就不存在

然而,由于您的手动语句也不起作用,我假设实际上是您的数据库阻止您删除。可能已启用引用完整性,并阻止您在删除主记录的详细记录之前删除主记录

致意
Kim/C4D

尝试启用服务器端调试,以查看它为delete语句生成的内容

在服务器上,在尝试解析之前的某个位置:

kbmMWDebugTypes:=[mwdtDBResolve];
kbmMWDebugWhere:=mwddOneRawTextFile;
kbmMWDebugLevel:=[mwdlAll];
kbmMWDebugFile:='c:\temp\debug.txt';
它将输出生成的SQL和结果以供您解决

还请记住,如果在客户机查询中插入记录,然后将其删除,则在解析过程中不会插入/删除该记录,因为从servers视图中看,它从一开始就不存在

然而,由于您的手动语句也不起作用,我假设实际上是您的数据库阻止您删除。可能已启用引用完整性,并阻止您在删除主记录的详细记录之前删除主记录

致意 Kim/C4D