When I try to insert row into table using ADO Recordset I receive message
"[SAP AG][SQLOD32 DLL]Wrong number of parameters."
Could you tell me what is wrong?
I use following Delphi procedure:
----------------------------------------------
procedure TForm1.StartButtonClick(Sender: TObject);
var
Conn : Connection;
Rs : Recordset;
Fields : OleVariant;
Values : OleVariant;
Query : String;
RecordsAffected : OleVariant;
begin
Conn := CoConnection.Create;
Conn.CommandTimeout := 2400;
Conn.Open('Provider=MSDASQL;DSN=Kr_MHF_SAP', 'admin', 'pwd', 0);
Query:='SELECT * FROM Dictionary WHERE Dic_Name=''DICT_CARD''';
Rs := CoRecordset.Create;
Rs.CursorLocation := adUseServer;
Rs.Open(Query, Conn, adOpenDynamic, adLockOptimistic, adCmdText);
if Rs.EOF then
begin
Fields := VarArrayCreate([0, 3], varVariant);
Values := VarArrayCreate([0, 3], varVariant);
Fields[0] := 'Dic_Name';
Values[0] := 'DICT_CARD';
Fields[1] := 'Dic_Caption';
Values[1] := 'DICT_CARD';
Fields[2] := 'Dic_Version';
Values[2] := 0;
Fields[3] := 'Dic_Content';
Values[3] := 'DESCRIPTION';
Rs.AddNew(Fields, Values);
end;
Rs.Close;
Rs := nil;
Conn.Close;
Conn := nil;
end;
----------------------------------------------
But when I use this procedure, everything is fine:
----------------------------------------------
procedure TForm1.StartButtonClick(Sender: TObject);
var
Conn : Connection;
Fields : OleVariant;
Values : OleVariant;
Query : String;
RecordsAffected : OleVariant;
begin
Conn := CoConnection.Create;
Conn.CommandTimeout := 2400;
Conn.Open('Provider=MSDASQL;DSN=Kr_MHF_SAP', 'admin', 'pwd', 0);
Query := 'INSERT INTO Dictionary (Dic_Name, Dic_Caption, Dic_Version,
Dic_Content) VALUES (''DICT_CARD'', ''DICT_CARD'', 0, ''DESCRIPTION'')';
Conn.Execute(Query, RecordsAffected, adCmdText);
Conn.Close;
Conn := nil;
end;
----------------------------------------------
Table definition is:
CREATE TABLE "ADMIN"."DICTIONARY"
(
"DIC_ID" Integer DEFAULT SERIAL (1),
"DIC_NAME" Varchar (50) ASCII NOT NULL UNIQUE,
"DIC_CONTENT" Long ASCII,
"DIC_VERSION" Integer NOT NULL,
"DIC_CAPTION" Varchar (255) ASCII,
"DIC_PATHSEPARATOR" Varchar (10) ASCII,
"DIC_CONFIG" Long ASCII,
PRIMARY KEY ("DIC_ID")
)
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general