Accueil > Forum > > > > Invalid variant type avec DBexpress et MYSQL
Invalid variant type avec DBexpress et MYSQL
mardi 5 février 2002 à 17:11:56 |
Invalid variant type avec DBexpress et MYSQL

DevEric
|
lorsque j'execute : MySQLDataSet.CommandType :=ctQuery; MySQLDataSet.CommandText :='select Symbol From Tb2'; MySQLDataSet.Open; Si Symbol est définit comme index ou clé primaire (et seulement dans ce cas la). J'ai l'erreur suivante : Invalid variant type conversion. Comment solutionner cette erreur..... Merci +++ Eric
|
|
dimanche 19 janvier 2003 à 15:23:00 |
Re : Invalid variant type avec DBexpress et MYSQL

svan1812
|
Bonjours , a part ce probleme pourrais-tu me dire si tu arrive a te connecter a ta data mysq,car je ramme pour y arriver et j'aimerai bien avoir un exemple qui fonctionne car a la base je développe surtous en php et le delphi me sert pour l'instant a essayer de développez une interface mais je m'accroche..Un grand merci d'avance Stephane
>
|
|
lundi 20 janvier 2003 à 14:03:49 |
Re : Invalid variant type avec DBexpress et MYSQL

DevEric
|
Oui je sais travailler sans problème avec MySql et Delphi. Il est important de choisir le bonne dll pour libmysql.dll et dbexpmysql.dll (voir site borland).
exemple de source:
unit MyDBCon;
interface
uses SysUtils, Classes, DBXpress, DB, SqlExpr, FMTBcd,Functions, Provider, DBClient, DBLocal, DBLocalS;
type TDMMyUsOptions = class(TDataModule) MySQLCon: TSQLConnection; MyClientDataSet: TSQLClientDataSet; SqlDataSetUpd: TSQLDataSet; procedure DataModuleCreate(Sender: TObject);
private procedure ReadInitFile(sFilename:string;sSubCateg:string;ObjCon:TSQLConnection); { Private declarations } public { Public declarations } procedure Connect(sFile:String;sGroup:String); procedure Close(); function GetDataset(sSql:string):TSQLClientDataSet; procedure GetLocDataSet(sSql:string;ClientDataSet:TSQLClientDataSet); function UpdateDataSet (sSql:Ansistring):integer; function LocateDataset (sTable:string;sField:string;sValue:string):Boolean; end;
var DMMyUsOptions: TDMMyUsOptions;
implementation
{$R *.dfm}
function TDMMyUsOptions.LocateDataset(sTable:string;sField:string;sValue:string):Boolean; var sSqlString:string;
begin result := false; //SQLDataSetUpd.DBConnection :=MySQLCon; SQLDataSetUpd.CommandType :=ctQuery; sSqlString:= 'select ' + sfield +' from '+ sTable + ' where ' + sField + ' = ' + ''''+ sValue+ ''''; SQLDataSetUpd.CommandText := sSqlString; SQLDataSetUpd.Open; if SQLDataSetUpd.Active = true then begin if SQLDataSetUpd.RecordCount > 0 then result := true; SQLDataSetUpd.Close; end; end;
procedure TDMMyUsOptions.ReadInitFile(sFilename:string;sSubCateg:string;ObjCon:TSQLConnection); var F:textfile; lig:String; bFlag:boolean; iPos:Integer; begin bflag:=false; if (sFileName <> '')and (sSubCateg <> '') then begin sSubCateg := '[' + sSubCateg + ']'; assignfile(F,sFileName); reset(F); while (not eof(F))and (bflag=false) do begin readln(F,lig); if InStr(0,lig,sSubCateg) = 1 then begin while bflag=false do begin readln(F,lig);
if InStr(0,lig,'User_Name')=1 then begin iPos:=Instr(0,lig,'='); if iPos > 1 then begin iPos:=length(lig)-ipos; ObjCon.Params.Values['User_Name']:=right(lig,ipos); end; end; if InStr(0,lig,'Password')=1 then begin iPos:=Instr(0,lig,'='); if iPos > 1 then begin iPos:=length(lig)-ipos; ObjCon.Params.Values['Password']:=right(lig,ipos); end; end; if InStr(0,lig,'Database')=1 then begin iPos:=Instr(0,lig,'='); if iPos > 1 then begin iPos:=length(lig)-ipos; ObjCon.Params.Values['Database']:=right(lig,ipos); end; end; if InStr(0,lig,'HostName')=1 then begin iPos:=Instr(0,lig,'='); if iPos > 1 then begin iPos:=length(lig)-ipos; ObjCon.Params.Values['HostName'] :=right(lig,ipos); end; end; if InStr(0,lig,'[END]')=1 then begin bflag:=True; end; end; end; end; closefile(f); end;
end;
function TDMMyUsOptions.GetDataset (sSql:string):TSQLClientDataSet; begin
MyClientDataSet.DBConnection :=MySQLCon; MyClientDataSet.CommandType :=ctQuery; MyClientDataSet.CommandText :=sSql; MyClientDataSet.Open;
result :=MyClientDataSet; end;
procedure TDMMyUsOptions.GetLocDataSet(sSql:string;ClientDataSet:TSQLClientDataSet); begin if ClientDataSet.Active=True then begin ClientDataSet.Close; end;
ClientDataSet.DBConnection :=MySQLCon; ClientDataSet.CommandType :=ctQuery; ClientDataSet.CommandText :=sSql; ClientDataSet.Open; end; function TDMMyUsOptions.UpdateDataSet(sSql:Ansistring):integer; begin try SQLDataSetUpd.CommandText :=sSql; result := SQLDataSetUpd.ExecSQL;
except result := -1; end; end;
procedure TDMMyUsOptions.Connect(sFile:String;sGroup:String); begin ReadInitFile(sFile,sGroup,MySQLcon); //ReadInitFile('MyUsOptions.txt','MyUsOptions',MySQLcon); MySQLcon.Open; end;
procedure TDMMyUsOptions.Close; begin if MySQLcon.Connected = true then begin MySQLcon.Close; MySQLcon.Free; end; end;
procedure TDMMyUsOptions.DataModuleCreate(Sender: TObject); begin
SQLDataSetUpd.SQLConnection :=MySQLCon; SQLDataSetUpd.CommandType :=ctQuery;
end;
end.
------------------------------- Réponse au message : -------------------------------
> lorsque j'execute : > MySQLDataSet.CommandType :=ctQuery; > MySQLDataSet.CommandText :='select Symbol From Tb2'; > MySQLDataSet.Open; > > Si Symbol est définit comme index ou clé primaire (et seulement dans ce cas la). J'ai l'erreur suivante : > Invalid variant type conversion. > Comment solutionner cette erreur..... > Merci +++ > Eric > >
|
|
mardi 9 octobre 2007 à 14:09:53 |
Re : Invalid variant type avec DBexpress et MYSQL

Pierre42
|
Il s'agit d'un bug de la dll de MySQL, qui ne gère pas convenablement les index en FULLTEXT. J'ai trouvé deux solutions aussi insatisfaisante l'une que l'autre mais fonctionnelle : - soit détruire les index FULLTEXT - soit intégrer un sub select dans la requête. Exemple : Select ID_CLIENT, NOM from CLIENT Se traduit par : Select ID_CLIENT, NOM, count(*) NB, count(*) / (select count(*) from CLIENT )*100 POURCENT from CLIENT group by 1
Pour obtenir la liste des clients. Pas très élégant, je vous le concède bien volontiers, mais à moins de revenir au BDE... Laurent Rigaldies France Progiciels Distribution www.franceprogiciels.com
|
|
Cette discussion est classée dans : type, invalid, variant, dbexpress, mysqldataset
Répondre à ce message
Sujets en rapport avec ce message
DBGRID, ADSI, ADO [ par DENNLER ]
Erreur :Impossible de convertir le variant de type (Array variant) en type (String) J'utilise les composants TADOQUERY,TDatasource et Tdbgrid avec une
opération [ par barbichette ]
Est-il possible de créer de nouvelles affections d'oppérations. C'est à dire avoir la possiblité d'additionner (c:=a+b) avec d'autres types que chaine
Creation d'une application avec base de donnée simple...help [ par VirusCrazy ]
Bonjour, Utilisant Delphi 7, je dois crer un logiciel pour une gestion commerciale de vente de produits. Jusqu'ici rien de bien compliqué . Le logic
Récupérer des données avec un classeur d'OpenOffice [ par darky93 ]
J'ai créé un petit programme pour me familiariser avec le contrôle d'OpenOffice. J'arrive à ouvrir un document type classeur, à modifier le nom des fe
1)paradox et le type float. 2),3)dbgrid [ par kam81 ]
bonjour,1)quand je crée une table paradox, et je veux declarer un champ comme étant float,je ne retrouve pas le type dans la liste des choix,aidez moi
nombre de page dans un documnet type pdf ou word [ par yvessimon ]
Bonjour,Avant d'imprimer un document de type pdf ou word je souhaite vérifier le nombre de page de ce document.Aussi comment lire ce nombre de page ?M
Retrouvailles avec le Pascal [ par MillePattes ]
Bonjour à tous ! C'est mon premier message et je voudrais me présenter. J'ai fait du Turbo-Pascal en amateur (mais à un niveau correct, je crois) il y
Sélection d'une police True Type [ par EddiTheHead ]
Bonjour,Dans un RichEdit, est-il possible de sélectionner une police True Type qui n'est pas installée dans le répertoire "Fonts"?J'aimerai afficher l
pointeurs [ par plusweb ]
Bonjour,j'aurai besoin d'aide concernant les pointeurs...C'est ma deuxieme année de pratique de delphi et j'attaque les pointeurs... J'ai trois exos a
POO : problème d'héritage [ par thierryC ]
Bonjour, Dans un programme en Delphi6, j'ai le souci suivant : une classe A contient un objet de type Classe B ; dans cette classe B, je crée un obje
Livres en rapport
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : SAVEDIALOGRE : SAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou RE : SAVEDIALOGRE : SAVEDIALOG par JulioDelphi
Cliquez pour lire la suite par JulioDelphi SAVEDIALOGSAVEDIALOG par zeydounnounou
Cliquez pour lire la suite par zeydounnounou
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|