Heim > Backend-Entwicklung > C#.Net-Tutorial > Perfekte Lösung für die von SqlDataReader angegebene ungültige Konvertierung

Perfekte Lösung für die von SqlDataReader angegebene ungültige Konvertierung

巴扎黑
Freigeben: 2017-08-08 13:21:17
Original
2746 Leute haben es durchsucht

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();//关闭
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage