我尝试在vb.net中创建一个登录表单中使用SQLite与此代码vb.net登录使用SQLite
Imports System.Data.SQLite
Public Class frmLogin
Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.Click
Dim table As DataTable = Nothing
Dim da As New SQLiteDataAdapter("Select * from user_tbl where username='" & txtuser.Text & "'and pass_id='" & txtpass.Text & "'", myconn)
Try
If txtuser.Text = "" And txtpass.Text = "" Then
MessageBox.Show("Please fill Username and Password", "Important", MessageBoxButtons.OK, MessageBoxIcon.Information)
txtuser.Focus()
Else
da.Fill(table)
If table.Rows.Count > 0 Then
frmMain.Show()
Me.Close()
Else
MessageBox.Show("login not successful")
End If
da.Dispose()
End If
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ConnectME()
End Sub
End Class
,但我一直在第26行得到一个错误“da.fill(表)”
下面是错误说:
构建SQL的唯一正确方法是使用SQL参数。像这样构建它可能会导致SQL注入攻击,数据类型不匹配,格式化问题以及像'O'Brien'这样的名称出现的错误。此外,密码永远不应该以纯文本形式存储。使用一个连接并在应用程序的整个生命周期中保持开放也是不明智的。 – Plutonix