2012-03-05 64 views
1

我一直運行到一個問題,我的SQL:(從零開始)指數零問題與SQL

{ 
    Name.Text = String.Format("{0} {1}", reader.GetString(0), reader.GetString(1)); 
    Aboutme.Text = String.Format("{2}", reader.GetString(0)); 
} 

指標必須大於或等於零?

不知道是否它的String.Format?

回答

4

是,第二行應該再次0的String.format:

Aboutme.Text = String.Format("{0}", reader.GetString(0)); 
+0

謝謝伊卡洛斯:如果你寫這

無論是編寫的代碼和執行算法會更簡單! –

2

我的猜測是代碼

Aboutme.Text = String.Format("{2}", reader.GetString(0)); 

中的String.Format第二行,正在尋找3這種情況下的參數{0},{1}和最後{2}。你只有一個。

你應該寫有:

Aboutme.Text = String.Format("{0}", reader.GetString(0)); 
0

的問題是不是SQL的指數,它是string.Format索引。這應該在堆棧跟蹤中顯而易見,它將指向string.Format而不是reader.GetString。仔細查看堆棧痕跡可以節省您所有的努力:)

當然,您在這裏確實不需要格式化(假設您只是以輸入字符串結尾),並且我懷疑可能是你想第2列(我的猜測是,這就是來自的錯誤,畢竟。)

Aboutme.Text = reader.GetString(2); 

如果你真的想用string.Format

Aboutme.Text = string.Format("{0}", reader.GetString(2)); 
0

沒有比一個更好的解決方案由接受的答案提出河請注意,聲明...

Aboutme.Text = String.Format("{0}", reader.GetString(0)); 

...傳遞格式字符串和一些字符串值String.Format,其分析格式字符串,在字符串值調用ToString(),然後插入該值到結果的由序列{0}指示的位置。然後,當然,它會返回構造的字符串作爲其結果。由於格式字符串是"{0}",所構造的字符串將具有與參數相同的值。

Aboutme.Text = reader.GetString(0);