sql >> データベース >  >> RDS >> Sqlserver

テキストボックスを使用して特定の範囲の SQL Server データベースから選択します

    文字列連結を使用して SQL クエリを作成しないでください。絶対に行わないでください!

    あなたはSQLインジェクションに対してオープンです。言い訳はありません。代わりに SQL パラメータを使用してください:

    Dim dateFrom as Date
    Dim dateTo as Date
    Dim validFromDate = Date.TryParse(Txtfromyear_reprt.Text.Trim(), dateFrom)
    Dim validToDate = Date.TryParse(Txttoyear_reprt.Text.Trim(), dateTo)
    

    ユーザーが有効な日付を指定しなかった場合は、意味のあるメッセージを表示してこのメ​​ソッドを終了します。 validFromDate を確認できます および validToDate これはブール値です。残りのコードが実行されます If validFromDate AndAlso validToDate :

    Dim str As String = "select * from MYTABLE where Year >= @fromyear and Year <= @toyear"
    da = New SqlDataAdapter(str, conn)
    da.SelectCommand.Parameters.Add("@fromyear", SqlDbType.DateTime).Value = dateFrom 
    da.SelectCommand.Parameters.Add("@toyear", SqlDbType.DateTime).Value = dateTo
    ' now you can use da.Fill(ds, "MYTABLE") safely
    

    varchar を使用しているのを見ました datetimes を保存する .なんで?データベースで修正してください。




    1. mysqlエラー1364フィールドにデフォルト値がありません

    2. phpmysqlからandroidアクティビティにデータを取得できません

    3. mysqlでビューのコメントを作成する

    4. c#MySQLのようなクエリがパラメータを受け取らない