我嘗試在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