Private Sub btnsave_Click(sender As System.Object, e As System.EventArgs) Handles btnsave.Click
adt = New OleDbDataAdapter ("insert into tb1 (job station,status,frekuensi,durasi,rata-rata) values ('"& lblstation.Text &"','" & lblstatus.Text &"','"& lblfrekuensi.Text &"','"&lbldurasi.Text&"','" &lblrata.Text& "')",dbconn)
adt.Fill(ds)
ds = New DataSet
MsgBox("kesimpen")
End Sub
当我声明'"& lblfrekuensi.Text &"'
和'"&lbldurasi.Text&"'
时,我收到一条错误消息:
类型字符'&'与声明的数据类型'String'不匹配
和
重载解析失败,因为没有可访问的“新建”接受此数量的参数
和
逗号,')',或预期的有效表达式继续。
对不起,我的英语不好。我尝试再次检查我的代码,但找不到任何解决方案。我该怎么办?
答案 0 :(得分:0)
仅使用参数,决不要编写带有串联的SQL字符串。
Private Sub btnsave_Click(sender As System.Object, e As System.EventArgs) Handles btnsave.Click
dim mySql as string = <sql>
insert into tb1
([job station],status,frekuensi,durasi,[rata-rata])
values
(?,?,?,?,?)
</sql>
adt = New OleDbDataAdapter (mySql,dbconn)
adt.SelectCommand.Parameters.Add("jobStation", OleDbType.Varchar).Value = lblstation.Text
adt.SelectCommand.Parameters.Add("status", OleDbType.Varchar).Value = lblstatus.Text
adt.SelectCommand.Parameters.Add("frekuensi", OleDbType.Varchar).Value = lblfrekuensi.Text
adt.SelectCommand.Parameters.Add("duration", OleDbType.Varchar).Value = lbldurasi.Text
adt.SelectCommand.Parameters.Add("ratarata", OleDbType.Varchar).Value = lblrata.Text
ds = New DataSet
adt.Fill(ds)
MsgBox("kesimpen")
End Sub
使用参数: