在 VB.net 中询问我的语法
Posted
技术标签:
【中文标题】在 VB.net 中询问我的语法【英文标题】:Asking about my syntax in VB.net 【发布时间】:2014-12-20 05:04:26 【问题描述】:我的项目中的保存按钮无法正常工作,我总是得到“您的数据尚未完成”的信息,这是我的语法:
Dim tambah As String = "insert into Anggota values('" & Tno.Text & "','" & Tnis.Text & "','" & Tnama.Text & "','" & Tkelas.Text & "','" & CBjk.Text & "','" & Tt4lahir.Text & "','" & ttgllahir.Text & "')"
Call koneksi()
cmd = New OleDbCommand(tambah, conn)
Try
cmd.ExecuteNonQuery()
MsgBox("the data has been saved", MsgBoxStyle.Information, "INFORMASI")
Call kosongkan()
Catch ex As Exception
MsgBox("your data is not yet complete!!!!", MsgBoxStyle.Information, "INFORMASI")
End Try
Call tampilkan()
Tnis.Focus()
这是我的连接
Public Sub koneksi()
str = "provider=microsoft.jet.oledb.4.0;data source=Database.mdb"
conn = New OleDbConnection(str)
ds = New DataSet
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
End Sub
【问题讨论】:
***.com/questions/542510/… 【参考方案1】:要确定实际错误是什么,您应该打印出异常消息:
Try
.....
Catch ex As Exception
MessageBox.Show("An exception occurred:" & Environment.NewLine & ex.Message)
End Try
这通常是权限或不正确的连接字符串,或 SQL 命令中的语法错误(这很可能是因为您正在连接值。不要!使用参数化查询)
顺便说一句:作为一种良好做法,您不应该捕获并吞下异常,除非您以某种明智的方式处理它们。至少你应该记录并重新抛出。
另外:您应该捕获特定的异常(在本例中为 SqlException
)
Exception Handling
Best Practices for Exceptions
[另外:我注意到你在上一个问题中被警告过 SQL 注入攻击,而不是连接值:Syntax error in INSERT INTO statement (vb.net)
【讨论】:
以上是关于在 VB.net 中询问我的语法的主要内容,如果未能解决你的问题,请参考以下文章
在 sql 语法中出现错误,vb.net 中的 mysql update 语句