【发布时间】:2013-04-06 05:13:29
【问题描述】:
我正在尝试为我的程序创建一个更新语句,该语句将根据用户输入的数据使用 SQL 更新数据库,不幸的是,我遇到的问题是我一次只能更新一列,有时一个也不能更新工作。我知道这个功能非常基础,对攻击不是很安全,但这是我正在做的一个小项目。不幸的是,我只有基本的编程技能,所以我无法让这部分工作。如果可以提供任何帮助,将不胜感激。
Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
Dim con As New OleDb.OleDbConnection
Dim d1 As New OleDb.OleDbDataAdapter
Dim d2 As New OleDb.OleDbDataAdapter
Dim d3 As New OleDb.OleDbDataAdapter
Dim d4 As New OleDb.OleDbDataAdapter
Dim d5 As New OleDb.OleDbDataAdapter
Dim d6 As New OleDb.OleDbDataAdapter
Dim d7 As New OleDb.OleDbDataAdapter
Dim d8 As New OleDb.OleDbDataAdapter
Dim d9 As New OleDb.OleDbDataAdapter
Dim d10 As New OleDb.OleDbDataAdapter
Dim dt As New DataTable("Animals")
'uses the 2010 compatible connection string
con.ConnectionString = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source = h:\Animals.accdb"
con.Open()
MsgBox("UPDATE Animals SET LatinName = '" & latintxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'")
d1 = New OleDb.OleDbDataAdapter("UPDATE Animals SET LatinName = '" & latintxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d2 = New OleDb.OleDbDataAdapter("UPDATE Animals SET LocationFound = '" & locationtxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d3 = New OleDb.OleDbDataAdapter("UPDATE Animals SET AverageHeight = '" & heighttxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d4 = New OleDb.OleDbDataAdapter("UPDATE Animals SET AverageWeight = '" & weighttxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d5 = New OleDb.OleDbDataAdapter("UPDATE Animals SET DietaryNeeds = '" & diettxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d6 = New OleDb.OleDbDataAdapter("UPDATE Animals SET ConservationStatus = '" & statustxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d7 = New OleDb.OleDbDataAdapter("UPDATE Animals SET AverageLifeSpan = '" & lifetxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d8 = New OleDb.OleDbDataAdapter("UPDATE Animals SET BreedingSeason = '" & breedtxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d9 = New OleDb.OleDbDataAdapter("UPDATE Animals SET AverageLength = '" & lengthtxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d10 = New OleDb.OleDbDataAdapter("UPDATE Animals SET AnimalName = '" & nametxt.Text & "'" & " WHERE AnimalName = " & "'" & Form1.txtname.Text & "'", con)
d1.Fill(dt)
d2.Fill(dt)
d3.Fill(dt)
d4.Fill(dt)
d5.Fill(dt)
d6.Fill(dt)
d7.Fill(dt)
d8.Fill(dt)
d9.Fill(dt)
d10.Fill(dt)
con.Close()
End Sub
【问题讨论】:
-
是什么让您相信您“一次只能更新一个”?从您的代码的外观看来,您的印象是您一次只能更新一个 列 (字段)。 (提示:这根本不是真的。)
-
对不起,我的意思是,我一次只能更新一列,例如我不能简单地将数据输入多个字段并让它们全部更新。
标签: vb.net sql-update ms-access-2010