首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# 查詢結果僅顯示一行:字串拼接覆蓋問題

     編輯:程式設計疑難解答

錯誤代碼

while (myReader.Read()) {
    int i = 0;
    TextBox.Text = myReader.GetValue(i).ToString(); // 每次覆蓋
    i++;
}

原因

`TextBox.Text = ...` **每次循環覆蓋**前一次內容,且 `i` 在循環內部初始化為 0,永遠只讀第一欄。

修正

while (myReader.Read()) {
    // 追加而非覆蓋,並換行
    TextBox.Text += myReader.GetValue(0).ToString() + Environment.NewLine;
    // 若需多欄:
    // for (int i = 0; i < myReader.FieldCount; i++) { ... }
}

或使用 `StringBuilder` 累積後一次賦值,效能更好。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved