2014-05-04 116 views
0

我是一名正在進行編程課程的學生。我創建了一段代碼,爲用戶創建文本框以輸入乙烯基音軌的名稱。由於您可以選擇創建的文本框的數量,因此這些文本框最終沒有名稱(例如textbox1,textbox2 ...),這使我不確定如何將文本框的值發送到數據庫表。該表目前爲空,只有一列。有人可以讓我知道我將如何將這些值發送到數據庫以及爲軌道創建新列的代碼。這是我現在的代碼如下:在VB.NET中將無名文本框保存到數據庫中

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Label11.Show() 
    GroupBox1.Show() 

    GroupBox1.AutoSize = True 

    Dim number As Integer 
    number = TextBox8.Text 
    Dim boxes(number) As TextBox 
    Dim newbox As TextBox 

    For i As Integer = 1 To number 
     newbox = New TextBox 
     newbox.Size = New Drawing.Size(100, 20) 
     newbox.Location = New Point(10, 10 + 25 * (i - 1)) 
     AddHandler newbox.TextChanged, AddressOf TextBox_TextChanged 
     boxes(i) = newbox 
     GroupBox1.Controls.Add(newbox) 
     newbox.Name = ("Trackbox" & i) 

    Next 

End Sub 
+0

他們只無名的,因爲你沒有給他們一個'.Name'。你的'boxes'數組是沒有意義的,因爲它只存在於這個事件中,但是在表單/類級別爲'Scope'的情況下(或者更好的是,List(Of T))可以用於在需要時獲取文本框文本。例如'boxes(n).Text'或者'Controls(ListofBoxNames(n))。Text' – Plutonix

+0

我只需要它存在於這個事件中,這個代碼所在的表單就是向數據庫添加一個新的乙烯基。事實證明,我的程序命名爲「Trackbox」框,然後是創建的框的數量。我如何讓我的代碼在我的數據庫中創建新列? – BLANK

+0

但是你不會**在那個事件的任何地方使用''boxes()',所以它沒有意義。你確定你想爲每個控件添加一個**列而不是一行嗎? (我現在看到名字道具)。是不是已經有一個表的數據列? – Plutonix

回答

0

你的盒子數組需要在表單級別聲明。

Private boxes() As TextBox 

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 

    Label11.Show() 
    GroupBox1.Show() 

    GroupBox1.AutoSize = True 

    Dim number As Integer 
    'need to insert validation code here to make sure a number is entered in TextBox8 
    number = Integer.Parse(TextBox8.Text) 
    ReDim boxes(number) 
    Dim newbox As TextBox 

    For i As Integer = 1 To number 
     newbox = New TextBox 
     newbox.Size = New Drawing.Size(100, 20) 
     newbox.Location = New Point(10, 10 + 25 * (i - 1)) 
     AddHandler newbox.TextChanged, AddressOf TextBox_TextChanged 
     GroupBox1.Controls.Add(newbox) 
     newbox.Name = ("Trackbox" & i.ToString) 
     boxes(i) = newbox 
    Next 

End Sub 

然後,你可以參考你的文本框,如下所示:

MessageBox.Show(boxes(5).Text) 
相關問題