Heim > Artikel > Backend-Entwicklung > Perfekte Lösung für die von SqlDataReader angegebene ungültige Konvertierung
In diesem Artikel wird hauptsächlich die Lösung für die ungültige angegebene Konvertierung von SqlDataReader vorgestellt. Interessierte Freunde können sich auf
Die Lösung für die ungültige angegebene Konvertierung von SqlDataReader beziehen ist wie folgt
//获取最新显示顺序数据 string str = string.Format(@"if exists(select ShowOrder from GIS_FuncDefaultLayer where GISFuncId = {0}) select max(ShowOrder) as ShowOrder from GIS_FuncDefaultLayer where GISFuncId ={0} else select '0' as ShowOrder", GISFuncId); IDataReader dataReader = helper.ExecuteReader(CommandType.Text, str); if (dataReader.Read())//判断当前功能Id下是否有数据 { //读取赋值 try { showOrder = dataReader.GetInt32(0); } catch (Exception ex) { HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(ex.Message) }; return result; } } dataReader.Close();//关闭
SqlDataReaders eigene GetInt32-Methode (und andere wie GerString usw.)
Es ruft nur die Spalten des entsprechenden Datentyps in der Datenbank ab und verfügt nicht über die Funktion der Typkonvertierung, sodass es nicht auf diese Weise verwendet werden kann
LösungEs gibt zwei Arten
1. Wenn Sie den Typ int zurückgeben müssen, ist das Feld in der Datenbank als int-Typ definiert.
2 Der Typ ist in der Datenbank nicht definiert und Sie möchten einen int-Typ zurückgeben. Ja, dann rufen Sie ihn zuerst mit dem entsprechenden Typ in der Datenbank ab und konvertieren Sie ihn dann
, z. B. int.Parse(selectunitidread.GetString(0))
Wenn Sie den int-Typ nicht zurückgeben müssen, genau wie Sie es oben geschrieben haben, und ihn schließlich in einen String
konvertieren und der Typ in der Datenbank varchar ist, der dem String entspricht, können Sie den folgenden Wert wie zum Beispiel: rmoutbackinfo.UnitId = selectunitidread.GetString(0)
statt Then Convert to String
Das obige ist der detaillierte Inhalt vonPerfekte Lösung für die von SqlDataReader angegebene ungültige Konvertierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!