2012-06-27 2 views
0

J'essaie de sélectionner un objet datatable. L'exception de lancement de code lorsque ma valeur d'expression est 82,5 (double).DataTable Select: double valeur impossible à filtrer

_dataSet.Tables[2].Select("ProfitShareRatio = " + Convert.ToDouble(_listrow[m]["ProfitShareRatio"])); 

P.s: ProfitShareRatio valeur est double dans la _dataSet.Tables[2]

ERREUR:

Syntax error in the expression.

at System.Data.ExpressionParser.Parse() at System.Data.DataExpression..ctor(DataTable table, String expression, Type type) at System.Data.Select..ctor(DataTable table, String filterExpression, String sort, DataViewRowState recordStates) at System.Data.DataTable.Select(String filterExpression)

EDIT 2: même erreur est survenue lors de l'utilisation décimale.

_dataSet.Tables[2].Select("ProfitShareRatio = " + Convert.ToDecimal(_listrow[m]["ProfitShareRatio"])); 

P.s 2: Le problème est Convert.ToDecimal(_listrow[m]["ProfitShareRatio"]) est la valeur de retour avec une virgule comme 82,50 je dois retourner la valeur avec un point comme 82.50

+1

D'intérêt, est-ce que _dataSet.Tables [2] .Select ("ProfitShareRatio = 82.5") fonctionne? Êtes-vous sûr que le type de données de ProfitShareRation dans _dataSet.Tables [2] est double? Alors qu'est-ce que _dataSet.Tables [2] .Columns ["ProfitShareRation"]. DataType vous donne? – dash

+0

@maycil pouvez-vous nous expliquer _listrow [m] ["ProfitShareRatio"]? – HichemSeeSharp

+0

@dash _dataSet.Tables [2] .Select ("ProfitShareRatio = 82.5") fonctionne. _dataSet.Tables [2] ["ProfitShareRatio"] est décimal. – maycil

Répondre

0
String.Format(new System.Globalization.CultureInfo("en-US"),"ProfitShareRatio = {0}",Convert.ToDecimal(_listrow[m]["ProfitShareRatio"])) 

Merci à tout le monde. Le problème est résolu en changeant la culture en en-US. Le résultat du format de chaîne est "ProfitShareRatio = 82.5"

+1

ma réponse précédente était assez proche bien que nous ne pouvions pas savoir que vous aviez un problème de culture. – HichemSeeSharp

+0

Oui mec, vous avez raison. J'ai remarqué le problème à la machine de culture diffirent. – maycil

Questions connexes