VB.NET
Visual Studio 2013
SQL server
いつもお世話になっております。
Windowsフォームでログイン画面作成中です。
Form1の
テキストボックス1にID入力
テキストボックス2にパスワードを入力し、ボタンをクリックで
その2つと一致する名前をSQL serverから取得し、値があれば名前をForm2で表示
なければ「IDもしくはパスワードが異なります」というメッセージがForm2で表示する仕様です。
詰まってしまったところは、
コマンドの@IDと@passwordにそれぞれのテキストボックスの値を
どのように格納してコマンドにすれば良いか困ってしまいました。
解決出来そうなサイトをいろいろ探したのですが、分かりませんでした。
格納方法が分かるサイト等ありましたら、教えていただけると幸いです。
よろしくお願いいたします。
コードは以下のものを書きました。
(VB.NETは今回はじめて触るので、不審点・見にくい点等ありましたら、指摘していただけると助かります)
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'コマンド Dim scm As New SqlClient.SqlCommand 'リーダー Dim srd As SqlClient.SqlDataReader Dim SQL As String 'Sqlserverに接続する Dim scn As SqlClient.SqlConnection = _ New SqlClient.SqlConnection("Persist Security Info = true" _ & ";Integrated Security=SSPI;database=test") '接続を開始する scn.Open() 'コマンドを設定(IDとパスワードの判定) scm = New SqlClient.SqlCommand("SELECT Name FROM dbo.test_Table1" _ & "WHERE ID=@ID AND PassWord=@password", scn) scm.CommandText = SQL scm.Connection = scn srd = scm.ExecuteReader 'テキストボックスの入力した値をコマンドで使用したい 'text1にIDを入力、text2にPasswordを入力 Dim text1 = TextBox1.Text Dim text2 = TextBox2.Text 'ここでエラー Dim sqlparam1 As New SqlClient.SqlCommand("@ID", text1) Dim sqlparam2 As New SqlClient.SqlCommand("@password", text2) 'ここもエラー scm.Parameters.Add(sqlparam1, sqlparam2) '取得した内容をウィンドウに表示する Dim f As New Form2() f.ShowDialog(Me) f.Dispose() 'リーダー、コマンドの解放 srd.Close() scn.Close() End Sub End Class
ご指摘ありがとうございます。
エラーを記載していなかったため、訂正します。
・1つ目のエラー
Dim sqlparam1 As New SqlClient.SqlCommand("@ID", text1) Dim sqlparam2 As New SqlClient.SqlCommand("@password", text2)
エラー 1 型 'String' の値を 'System.Data.SqlClient.SqlConnection' に変換できません。
2つ目のエラー
scm.Parameters.Add(sqlparam1, sqlparam2)
エラー 3 型 'System.Data.SqlClient.SqlCommand' の値を 'String' に変換できません。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/02 01:29
退会済みユーザー
2019/07/02 01:40
2019/07/02 01:55
退会済みユーザー
2019/07/02 02:05
2019/07/02 02:22