1
我一直在嘗試在Visual Studio中創建註冊頁面,我似乎無法使其工作。應用程序頁面將數據插入到Visual Studio中的本地SQL Server數據庫中
- 數據庫名稱=用戶
- 其數據將被插入到=用戶名&密碼列
當我執行的代碼,它返回消息「數據保存」,這將導致我相信它已經工作,但是當我看看錶數據,一切都沒有改變..
Public Class SignUp
Dim mysqlConn As Data.SqlClient.SqlConnection
Dim command As Data.SqlClient.SqlCommand
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
mysqlConn = New Data.SqlClient.SqlConnection
mysqlConn.ConnectionString = ("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\NewFolder1\Members.mdf;Integrated Security=True")
Dim RowsAffected As Integer
Try
mysqlConn.Open()
Dim query As String = "INSERT INTO [User] (username, password) VALUES (@Username, @Password)"
command = New SqlClient.SqlCommand(query, mysqlConn)
Dim paramUsername As New SqlClient.SqlParameter() With {.ParameterName = "@Username", .Value = TextBox1.Text, .Size = 50, .SqlDbType = SqlDbType.VarChar}
Dim paramPassword As New SqlClient.SqlParameter() With {.ParameterName = "@Password", .Value = TextBox2.Text, .Size = 50, .SqlDbType = SqlDbType.VarChar}
command.Parameters.Add(paramUsername)
command.Parameters.Add(paramPassword)
RowsAffected = command.ExecuteNonQuery
mysqlConn.Close()
If 0 < RowsAffected
Then MessageBox.Show("Data Saved")
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
mysqlConn.Dispose() 'closes connection
End Try
可能是[爲什麼要將更改保存到數據庫更改失敗?](http://stackoverflow.com/q/17147249/1070452)你永遠不會以純文本形式存儲密碼 – Plutonix
這不是公共形式,並且會永遠不會,所以我不想哈希密碼,還沒有atleast :) – Drax
如果它顯示該消息,那麼數據將被保存,因爲數據庫中至少有一行受到影響。你只是在錯誤的地方或在錯誤的時間查看數據。 @Plutonix提供的鏈接無疑與情況相關。簡而言之,每次構建時,您的兩個數據庫和包含您的更改的數據庫都會被覆蓋。無論是你正在尋找一個不包含你的改變,或者你正在尋找一個,但在它被覆蓋之後。 – jmcilhinney