首页 > 解决方案 > 在访问数据库中存储信息

问题描述

嗨,我正在尝试将新元素的信息存储在数据网格中,在应用程序打开时,信息就在那里,但是当我们关闭它并再次打开它时,所有新信息都消失了,有人可以帮忙吗?

Dim cmdSql As String

'If txtNumero.Text = "1" Then
cmdSql = "INSERT INTO Fatura (Cliente, Data, ValorTotal) " &
        "VALUES ('" & txtCliente.Text & "', #" &
        dataFatura.Value.ToString("dd/MM/yyyy") & "#, " &
        Replace(txtValorTotal.Text.ToString, ",", ".") & ")"

GerirLigacao.ExecutarCmdSQL(cmdSql)



cmdSql = "SELECT TOP 1 Numero FROM Fatura ORDER BY Numero DESC"
Dim r As DataSet = GerirLigacao.obterDados(cmdSql)
    txtNumero.Text = r.Tables(0).Rows(0).Item("Numero")
    txtNrFatura.Text = txtNumero.Text
    Dim msg = "Fatura guardada com sucesso"
    Dim titulo = "Guardar"
    Dim botoes = MessageBoxButtons.OK
    Dim icone = MessageBoxIcon.Information
    MessageBox.Show(msg, titulo, botoes, icone)

格里里加考

Public Shared Sub ExecutarCmdSQL(ByVal comando As String)
    Try
        Dim cmdSql As New OleDbCommand(comando, ligacao)
        cmdSql.ExecuteNonQuery()
    Catch ex As Exception
        Dim msg = "Aconteceu um erro de execução." & vbNewLine
        Dim botoes = MessageBoxButtons.OK
        Dim icone = MessageBoxIcon.Error
        MessageBox.Show(msg & ex.Message, "ERRO", botoes, icone)
    End Try
End Sub

标签: sqlvb.netms-access

解决方案


在解决方案资源管理器中查找数据库文件,单击它并在属性网格中设置Copy To Output DirectoryCopy If Newer

在此处输入图像描述

更多信息:https ://social.technet.microsoft.com/wiki/contents/articles/53248.visual-studio-copying-files-to-debug-or-release-folder.aspx

现在可能也是告诉您可以对数据库访问代码进行一些重大改进的好时机;这样做会让事情变得非常困难,并且代码非常不安全(请阅读http://bobby-table.com了解更多信息)。Microsoft 曾经在http://msdn2.microsoft.com/en-us/library/fxsa23t6(vs.80).aspx上有一组很棒的演练- 该文档现已存档(至少 15 年),我无法将它们下载到手机上以检查它“创建一个简单的数据应用程序”仍然是其中的一部分。YouTube 上有很多关于如何使用 tableadapter 和数据集的教程,如果这是您想要使用的路线,尽管如今现代技术(和最广泛的知识传播)可能适用于 Entity Framework。Google for "getting started with entity framework" 看看;我强烈建议您采用这种方式,而不是使用弱类型数据集和直接 sql 查询的现有路线


推荐阅读