Visual Basic 2010 Express表单到数据库

时间:2011-03-14 02:05:21

标签: database vb.net events

我做了一个输入表单,我想像日常日记一样工作。用户输入标题,日期,时间和实际文本条目。最后是一个按钮,我想我必须点击“事件”,使输入框中的所有文本都存储在某个地方。我希望每个提交的内容在每一天都是独立的,并且能够在以后显示每天的日记条目。

我是新手,但我认为数据需要转到数据库。找不到任何示例代码使表单数据保存到数据库中。我制作的数据库是“本地数据库”。不确定它是否需要是“数据集”或“实体数据模型”。

请向我展示一些代码或使用vb代码保存信息而不使用数据库。

1 个答案:

答案 0 :(得分:2)

有很多不同的方法可以做到这一点。即使使用VB Net,您仍然需要编写一些代码来保存您想要保存的表单中的内容。 你问的问题没有简单的答案。根据你的问题,我认为你并没有真正拥有他们所说的“共同参考框架”来理解有人可能会在这里为你发布的答案。 您将需要知道您正在使用的数据库,并了解连接到该数据库的正确方法。您需要了解如何在数据库中处理数据。无论你需要了解一些基本SQL的方法,你都知道“从那里选择这个东西=那些”以及sql插入和更新等。

留给我一个非常“简洁”的示例,说明如何从表单到数据库获取数据,以便您可以了解挑战的一些范围。

Sub Button4_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)

Dim newid As Integer = Insert(Textbox1.text)

End Sub

函数插入(ByVal Ruling As String)为整数

        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

插入裁决                          (标题) 价值观(@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语法来处理任何事情,然后随着您获得经验,它将变得更容易。