c#
  • .net
  • textbox
  • 2013-04-12 147 views -1 likes 
    -1

    我試過下面的代碼。它成功運行,但在txtQueue(文本框)中顯示結果爲「System.Data.DataView」,但不顯示數據。如何在多行文本框中逐行顯示數據庫中的數據?

    try 
    { 
        AddURL objAddurls = new AddURL(); 
        objAddurls.ExecuteSql("select sURL from addurl where iStatus=1 AND iLicenseID='" + CommonMethods.iLicenseID + "'"); 
        txtQueueURLs.Text = objAddurls.DefaultView.ToString(); 
    } 
    
    catch (Exception ee) 
    { 
    
    } 
    

    任何機構可以告訴我這個代碼有什麼問題或建議我新的代碼? 在此先感謝。

    +1

    什麼是AddURL? – CR41G14

    +0

    AddURL是我在我使用存儲過程數據庫表通過我這一代 –

    回答

    1

    我怎麼還可以顯示多行文本框在線數據庫我的數據通過 線?

    有幾種方法可以檢索數據表單數據庫,這只是其中之一,你會選擇什麼方法並不重要。

    將數據寫入一個文本框,一行行,可以通過textBox.Multiline屬性設置爲true,並添加Environment.NewLine每次需要新的生產線時textBox.Text實現。

    下面是示例代碼,可以幫助你:

    using System.Data.SqlClient; 
    
    namespace StackTest 
    { 
        public partial class Form1 : Form 
        { 
         public Form1() 
         { 
          InitializeComponent(); 
         } 
    
         private void Form1_Load(object sender, EventArgs e) 
         { 
          string connectionString = @"Data Source=(localdb)\Projects;Initial Catalog=DbTest;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False"; 
          string selectString = "select * from TblTest"; 
          textBox1.Multiline = true; 
    
          SqlConnection conn = new SqlConnection(connectionString); 
          SqlCommand cmd = new SqlCommand(selectString,conn); 
    
          conn.Open(); 
          SqlDataReader rdr = cmd.ExecuteReader(); 
    
          while (rdr.Read()) 
          { 
           textBox1.Text += rdr[0]; 
           textBox1.Text += rdr[1]; 
           //... 
           textBox1.Text += Environment.NewLine; 
          } 
    
          conn.Close();     
         } 
        } 
    } 
    
    +0

    感謝米蘭-J的工作對我來說,我只是評論TextBox1.Text + = RDR [1]和成功運行,給我造成多行文本框。 –

    +1

    這是因爲您在數據庫表中只有一列。您可以使用字符串作爲索引,而不是數字,而不是像rdr [「columnName」]。你應該閱讀更多關於SqlDataReader類型在這裏... http://csharp-station.com/Tutorial/AdoDotNet/Lesson04 很高興我可以幫忙。 –

    0

    您正在呼籲DataView.ToString() ToString方法返回的組件的名稱。我想你想遍歷DefaultView中的行並將TextBox值賦值給那個。

    StringBuilder sb = new StringBuilder(); 
    foreach (DataRowView rowView in objAddurls.DefaultView) 
        { 
        DataRow row = rowView.Row; 
        // build a string from your row // 
        } 
    
    txtQueueURLs.Text = sb.ToString() 
    
    相關問題