VB.NETSQL数据库-如何保存对数据库的更改?

VB.NETSQL数据库-如何保存对数据库的更改?,sql,sql-server,database,vb.net,Sql,Sql Server,Database,Vb.net,我的数据库程序功能齐全,当我向数据库添加新条目时,它们会正确地显示在我的DataGridView上。但是,在我关闭程序后,这些更改不会保存。如何将更改保存回数据库?这是我的密码: Dim conn As New SqlClient.SqlConnection(My.Settings.MainDatabaseConnectionString) Dim query As String = "INSERT INTO Users VALUES('Something','Test');"

我的数据库程序功能齐全,当我向数据库添加新条目时,它们会正确地显示在我的DataGridView上。但是,在我关闭程序后,这些更改不会保存。如何将更改保存回数据库?这是我的密码:

    Dim conn As New SqlClient.SqlConnection(My.Settings.MainDatabaseConnectionString)
    Dim query As String = "INSERT INTO Users VALUES('Something','Test');"
    Dim cmd As New SqlClient.SqlCommand(query, conn)
    Dim reader As SqlClient.SqlDataReader

    'Open Connection
    conn.Open()
    'Execute Query
    reader = cmd.ExecuteReader
    'Close Connection
    conn.Close()

    'Update DataGridView
    Me.UsersTableAdapter.Fill(Me.UsersDataSet.Users)

正如您所发现的,您需要更多的读者:)

还有很多路要走。此链接提供了一个合理的示例:

关键是:

首先,GridView的SqlDataSource必须包含UpdateCommand 具有适当的参数


正如您所发现的,您需要更多的读者:)

还有很多路要走。此链接提供了一个合理的示例:

关键是:

首先,GridView的SqlDataSource必须包含UpdateCommand 具有适当的参数


如果你想在数据库中插入一些东西,你可以这样做

Dim mySQLCommand As Data.SqlClient.SqlCommand
mySQLCommand.CommandText = "INSERT INTO Users VALUES('Something','Test');"
mySQLCommand.ExecuteNonQuery()
您可能还希望参数化变量以防止sql注入

mySQLCommand.Parameters.Add("@variable_name", SqlDBType.NvarChar).value = variable
并在插入中使用
@variable\u name

mySQLCommand.CommandText = INSERT INTO Users VALUES(@variable_name, @variable_name2)

如果你想在数据库中插入一些东西,你可以这样做

Dim mySQLCommand As Data.SqlClient.SqlCommand
mySQLCommand.CommandText = "INSERT INTO Users VALUES('Something','Test');"
mySQLCommand.ExecuteNonQuery()
您可能还希望参数化变量以防止sql注入

mySQLCommand.Parameters.Add("@variable_name", SqlDBType.NvarChar).value = variable
并在插入中使用
@variable\u name

mySQLCommand.CommandText = INSERT INTO Users VALUES(@variable_name, @variable_name2)