2016-10-16 7 views
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 
+1

おそらくデータベースへの変更を保存するのが失敗するのはなぜですか?(http://stackoverflow.com/q/17147249/1070452)パスワードはプレーンテキストとして保存することはありません。 – Plutonix

+0

これは公開形式ではありません。私はパスワードをハッシュしたくはありません。少なくとも – Drax

+0

そのメッセージを表示すると、データベースの少なくとも1つの行が影響を受けたため、データが保存されます。間違った場所や間違ったタイミングでデータを探しているだけです。 @Plutonixが提供するリンクは間違いなく状況に関連しています。要するに、2つのデータベースと、変更を含むデータベースは、ビルドするたびに上書きされます。どちらがあなたの変更を含んでいないものを探しているのか、それとも上書きされたのかを見ているかのどちらかです。 – jmcilhinney

答えて

0

全体ユーザーインスタンスとATTAC ...変わっていないことhDbFileName =アプローチに欠陥があります - 最高です! Visual Studioでアプリケーションを実行すると、App_Dataディレクトリから出力ディレクトリ(通常はアプリを実行する.\bin\debug - )にコピーされます。INSERTは正常ですが、ただの間違った.mdfファイルを最後に見てください!私はあなたのデータがある、ほぼ確信している - あなたは、このアプローチに固執する場合

、その後、mySqlConn.Close()呼び出しにブレークポイントを入れてみてください - して、SQL ServerのMgmt(仮想ディスクの管理)StudioのExpressで.mdfファイルを検査します。

関連する問題