2011-03-14 103 views
0

我做了一個輸入表單,我想像日常日記一樣工作。用戶輸入標題,日期,時間和實際的文本條目。最後是一個按鈕,我想我必須點擊「事件」才能使輸入框中的所有文本都存儲在某個地方。我希望每個提交的內容都能夠在每天分別顯示日記條目。Visual Basic 2010 Express Express到數據庫

我是新手,但我認爲數據需要到數據庫。找不到任何示例代碼以將表單數據保存到數據庫。我製作的數據庫是「本地數據庫」。不確定它是否需要「數據集」或「實體數據模型」。

請給我演示一些代碼或一種方法來保存信息,而不使用數據庫僅使用vb代碼。

回答

2

有很多不同的方法來做到這一點。即使使用VB Net,您仍然需要編寫一些代碼來保存您想要保存的表單中的內容。 你問的問題沒有簡單的答案。從你的問題來看,我認爲你並不是真的有他們所說的「共同參照框架」來理解某人可能在這裏發佈的答案。 您需要知道您正在使用的數據庫,並且有理想的方式連接到該數據庫。你需要考慮如何處理你的數據和你的數據庫。無論使用什麼方法,你都需要知道一些基本的SQL,你知道「從那裏where something =那裏選擇這個」以及sql插入和更新等。

左我給你一個非常「簡潔」的例子,如何獲得數據從表單到數據庫,以便您可以瞭解挑戰的一小部分。

子Button4_Click(BYVAL發件人爲System.Object的,BYVALË作爲System.EventArgs)

昏暗NEWID爲整數=插入(Textbox1.text)

結束子

功能插入(BYVAL執政黨作爲字符串)作爲整數

 Dim Con As New SqlClient.SqlConnection(vConString) 

     Dim cmd As SqlClient.SqlCommand = Con.CreateCommand 

     Dim c As Integer = 0 

     cmd.CommandType = CommandType.StoredProcedure 

     cmd.Parameters.Add("@title", SqlDbType.VarChar, 50).Value = Ruling 

     cmd.CommandText = "InsertRuling" 


     Try 
      Dim R As SqlClient.SqlDataReader 
      Con.Open() 
      R = cmd.ExecuteReader 
      While R.Read() 
       c = R.Item(0) 
      End While 
      R.Close() 
     Catch ex As Exception 
      Debugger.Break() ' 
     Finally 
      If Not Con Is Nothing Then 
       Con.Close() 
      End If 
     End Try 
     Return c 
    End Function 

此功能連接到數據庫,插入一條記錄並返回新記錄的新ID(主鍵)。 存儲過程是數據庫中的存儲過程(在這種情況下,數據庫是SQL服務器,大多數數據庫都有存儲過程)。該參數包含我正在寫入數據庫的實際值。 這裏是存儲過程,BTW存儲過程是你寫的東西,它不是已經存在於數據庫中的東西。

ALTER PROCEDURE dbo.InsertRuling

@title as nvarchar(50 

AS

INSERT INTO裁決 (標題) VALUES(@title)

/* SET NOCOUNT ON */

SELECT @@identity as nid 

/* SET NOCOUNT ON */

RETURN 

你也可以放棄程序,直接在函數中改變一些東西直接寫入數據庫。

Sub Insert(ByVal Ruling As String) 

     Dim Con As New SqlClient.SqlConnection(vConString) 

     Dim cmd As SqlClient.SqlCommand = Con.CreateCommand 


     cmd.CommandType = CommandType.Text 

     cmd.CommandText = "INSERT INTO Rulings (Title) VALUES (" & Ruling & ")" 


     Try 
      Con.Open() 
      cmd.ExecuteNonQuery() 
     Catch ex As Exception 
      Debugger.Break() ' 
     Finally 
      If Not Con Is Nothing Then 
       Con.Close() 
      End If 
     End Try 

    End Sub 

您使用的任何方法都需要您能夠編寫SQL。 Net提供了一種使用數據集將控件直接連接到數據庫的方法,但是您仍然需要了解如何編寫sql,並瞭解您將從數據庫中讀取和寫入的數據。數據庫的更新,插入和選擇語句是自動生成的,但您仍然需要擁有某種通用的SQL參考框架,以瞭解何時以及如何使用它們,並對其進行修改。 去書店購買一本VB.net編程的大書。這裏有很多,它們都涵蓋了VB網絡和數據庫的基礎知識,並且會給你足夠的SQL語法來解決任何問題,隨着你獲得經驗,它會變得更容易。

相關問題