2016-10-07 4 views
0

gelöst zu werden Ich versuche, den String Wert in einer Liste zu erhalten, aber alsEingabezeichenfolge war nicht in einem korrekten Format Fehler nicht

Eingabezeichenfolge war nicht in einem korrekten Format immer Fehler.

Es gibt viele hilfreiche Links im Internet verfügbar, aber nicht gelöst eins.

Hier ist mein Code.

newRow["EXP_TYPE_ID"] = Convert.ToString(e.Record["EXP_TYPE"]); 
    newRow["EXP_TYPE"] = CF.ExecuteScaler("Select Type_desc from type_mst where Type_Code = 'PAR' and Type_Abbr ='" + Convert.ToString(e.Record["EXP_TYPE"]) + "'").ToString(); 

und CF.ExecuteScaler

public string ExecuteScaler(string StrQuery) 
{ 
    DB.EConnection(); 
    cmd = new OracleCommand(StrQuery, DB.conn); 
    cmd.Connection = DB.conn; 
    int val=Convert.ToInt32(cmd.ExecuteScalar()); 
    DB.conn.Close(); 
    string ret = val.ToString(); 
    return ret; 
} 

Hinweis Ich kann nicht Scaler-Funktion ändern.

Update

StrQuery = Select Type_desc from type_mst where Type_Code = 'PAR' and Type_Abbr ='PUR'

und der Wert der Abfrage

KÄUFER

+0

Können Sie uns den Wert von 'StrQuery' zeigen, wenn Sie es' ExecuteScaler() 'passieren? – Marusyk

+0

Wo genau erhalten Sie den Fehler? – sachin

+0

@MegaTron: Die Frage mit mehr Details aktualisiert – BNN

Antwort

1

Ich glaube, die Ausnahme in der folgenden Zeile geworfen wird?

int val=Convert.ToInt32(cmd.ExecuteScalar()); 

Wie Sie gesagt haben, cmd.ExecuteScalar() kehrt Wert "PURCHASER", die dann in int konvertieren Sie versuchen. Das ist eindeutig nicht möglich, und das ist die Ausnahme.

Bitte versuchen Sie es wie folgt aus:

public string ExecuteScaler(string StrQuery) 
{ 
    DB.EConnection(); 
    cmd = new OracleCommand(StrQuery, DB.conn); 
    cmd.Connection = DB.conn; 
    string ret = Convert.ToString(cmd.ExecuteScalar()); 
    DB.conn.Close(); 
    return ret; 
} 
+0

Fehler erhalten als 'kann nicht implizit konvertieren Typ int in String 'bei Zeile' Convert.ToInt32 (cmd.ExecuteScalar()); ' – BNN

+0

@nad, D'OH, korrigiert – slawekwin

+1

Danke, dass arbeitete Kumpel .. Verstanden die Logik zu – BNN

Verwandte Themen