[Instantobjects-cvscommit] SF.net SVN: instantobjects: [636] trunk/Source/Brokers/ADO/InstantADO.pas
From: <na...@us...> - 2006-02-28 10:46:54
|
Revision: 636 Author: nandod Date: 2006-02-28 02:46:42 -0800 (Tue, 28 Feb 2006) ViewCVS: http://svn.sourceforge.net/instantobjects?rev=636&view=rev Log Message: ----------- + Fixed Bug# 1439234 - Params not working with MS Access Modified Paths: -------------- trunk/Source/Brokers/ADO/InstantADO.pas Modified: trunk/Source/Brokers/ADO/InstantADO.pas =================================================================== --- trunk/Source/Brokers/ADO/InstantADO.pas 2006-02-28 10:43:34 UTC (rev 635) +++ trunk/Source/Brokers/ADO/InstantADO.pas 2006-02-28 10:46:42 UTC (rev 636) @@ -24,8 +24,8 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): - * Carlo Barazzetta: blob streaming in XML format (Part, Parts, References) - * Carlo Barazzetta: Currency and LoginPrompt support + * Carlo Barazzetta, Nando Dessena + * * ***** END LICENSE BLOCK ***** *) unit InstantADO; @@ -195,7 +195,7 @@ const ADOLinkPrefix = 'FILE NAME='; -procedure AssignParameters(Params: TParams; Parameters: TParameters); +procedure AssignParamsToParameters(Params: TParams; Parameters: TParameters); var I: Integer; Parameter: TParameter; @@ -214,7 +214,8 @@ Param := Params.ParamByName(Parameter.Name); Parameter.DataType := Param.DataType; if Param.ParamType = DB.ptUnknown then - Parameter.Direction := pdInput else + Parameter.Direction := pdInput + else Parameter.Direction := TParameterDirection(Param.ParamType); Parameter.Attributes := []; Parameter.NumericScale := 0; @@ -949,8 +950,8 @@ procedure TInstantADOQuery.SetParams(Value: TParams); begin - ParamsObject.Assign(Query.Parameters); - AssignParameters(Params, Query.Parameters); + ParamsObject.Assign(Value); + AssignParamsToParameters(ParamsObject, Query.Parameters); end; procedure TInstantADOQuery.SetStatement(const Value: string); @@ -1028,7 +1029,7 @@ procedure TInstantADOMSSQLBroker.AssignDataSetParams(DataSet: TDataSet; AParams: TParams); begin - AssignParameters(AParams,TADOQuery(DataSet).Parameters); + AssignParamsToParameters(AParams, TADOQuery(DataSet).Parameters); end; function TInstantADOMSSQLBroker.CreateCatalog( @@ -1049,7 +1050,7 @@ Query.Connection := (Connector as TInstantADOConnector).Connection; Query.SQL.Text := Statement; if Assigned(Params) then - AssignParameters(Params, Query.Parameters); + AssignParamsToParameters(Params, Query.Parameters); Result := Query; Except Query.Free; |
[Instantobjects-cvscommit] SF.net SVN: instantobjects: [709]
trunk/Source/Brokers/ADO/InstantADO.pas
From: <bvs...@us...> - 2006-10-10 00:29:26
|
Revision: 709 http://svn.sourceforge.net/instantobjects/revision/?rev=709&view=rev Author: bvsimmons Date: 2006-10-09 17:29:18 -0700 (Mon, 09 Oct 2006) Log Message: ----------- Bug:1564110 - Incorrect SQL generated for Drop Column/Index ADO-MSSQL. Modified Paths: -------------- trunk/Source/Brokers/ADO/InstantADO.pas Modified: trunk/Source/Brokers/ADO/InstantADO.pas =================================================================== --- trunk/Source/Brokers/ADO/InstantADO.pas 2006-09-22 09:34:16 UTC (rev 708) +++ trunk/Source/Brokers/ADO/InstantADO.pas 2006-10-10 00:29:18 UTC (rev 709) @@ -167,6 +167,9 @@ TInstantADOMSSQLGenerator = class(TInstantSQLGenerator) protected function InternalGenerateAlterFieldSQL(OldMetadata, NewMetadata: TInstantFieldMetadata): string; override; + function InternalGenerateDropFieldSQL(Metadata: TInstantFieldMetadata): string; override; + function InternalGenerateDropIndexSQL(Metadata: TInstantIndexMetadata): string; override; + function EmbraceIndex(const IndexName: string): string; virtual; end; TInstantADOMSSQLBroker = class(TInstantSQLBroker) @@ -1033,6 +1036,12 @@ { TInstantADOMSSQLGenerator } +function TInstantADOMSSQLGenerator.EmbraceIndex( + const IndexName: string): string; +begin + Result := InstantEmbrace(IndexName, Delimiters); +end; + function TInstantADOMSSQLGenerator.InternalGenerateAlterFieldSQL(OldMetadata, NewMetadata: TInstantFieldMetadata): string; begin @@ -1042,6 +1051,22 @@ Broker.DataTypeToColumnType(NewMetadata.DataType, NewMetadata.Size)]); end; +function TInstantADOMSSQLGenerator.InternalGenerateDropFieldSQL( + Metadata: TInstantFieldMetadata): string; +begin + Result := Format('ALTER TABLE %s DROP COLUMN %s', + [EmbraceTable(Metadata.TableMetadata.Name), + EmbraceField(Metadata.Name)]); +end; + +function TInstantADOMSSQLGenerator.InternalGenerateDropIndexSQL( + Metadata: TInstantIndexMetadata): string; +begin + Result := Format('DROP INDEX %s.%s', + [EmbraceTable(Metadata.TableMetadata.Name), + EmbraceIndex(Metadata.Name)]); +end; + { TInstantADOMSSQLBroker } class function TInstantADOMSSQLBroker.GeneratorClass: TInstantSQLGeneratorClass; |