0

現在、Webフロントエンドを使用して新しいデータベースを作成しています。このデータベースの重要な機能の1つは、結果を検索して戻す機能です。データベースをセットアップし、すべてのテーブルに情報を入力しました。私は必要なすべての情報のビューを作成しました(私が働いている会社の指示に従って)。ページをどのように表示するかを設定しました。コードは次のとおりです。

<!-- #include file="inc.head.asp" -->
<html>

<head>
</head>

<body>
<h1><i>Find User by Name</i></h1>
<div id="displayBox" style="border: 3px solid #9C9595; height: 500px; width: 425px" class="blackBox">

<h2> Search for User </h2>

<form name="Enter New Model" method="Post" action="">

<table>
<tr><td><h3>Name: </td></h3>
<td><input type="text" name="Model" size="50"></td></tr>
<tr><td><h3>Section: </td></h3>
<td><input type="text" name="NextUpgrade" size="50"></td></tr>
<tr><td><h3>Directorate: </td></h3>
<td><input type="text" name="Stock" size="50"></td></tr>
</table>
&nbsp;      
<table>
<textarea name="UserHistory" cols="50" rows="10"></textarea></tr>
</table>

<input type="submit" name="Submit" value="Search">
</body>
<br>
<br>
<h3><a href="page.index.asp">Return Home</a></h3>
</div>
</body>

</html>

そのため、テキストエリア内に結果を表示できるようにしたいと思います。現時点では、検索にSurnameのみを使用しますが、他の検索を行う必要がありますが、この検索を完了すると、他の検索に適合させることができます。あなたが私に与えることができるどんな助けでも非常にありがたいです。

前もって感謝します!

4

1 に答える 1

0

データベース接続のタイプに関しては、自分でいくつかのことを理解する必要がありますが、基本は次のようになります (テストされていません)。

<%
    Dim strUserHistory: strUserHistory = ""
    Dim strModel : Trim(request.form("Model"))
    Dim strNextUpgrade : Trim(request.form("NextUpgrade"))
    Dim strStock : Trim(request.form("Stock"))

    If strModel<>"" OR strNextUpgrade<>"" OR strStock<>"" Then
        Dim strQuery: strQuery = "SELECT Username FROM Users where Model= """ & strModel & """ OR NextUpgrade= """ & strNextUpgrade & """ OR Stock= """ & strStock & """

        Dim objConn: Set objConn = Server.CreateObject("ADODB.Connection")
        Dim DSN: DSN="Driver={SQL Server};Server=DATABASEIP;Database=DATABASENAME;UID=USERNAME;PWD=PASSWORD"
        objConn.Open(DSN)

        Dim objRS: Set objRS = objConn.Execute(strSQL)

        If objRS.EOF Then
             strUserHistory = "No Users found"
        Else
            Do While Not objRS.EOF
                strUserHistory = strUserHistory & objRS.Fields("Username").value & "\n"
                objRS.MoveNext()
            Loop
        End If
    End If
 %>

これをページの上部に配置 (または関数を作成) し、HTML フォーム フィールドを次のように更新します。

<input type="text" name="Model" size="50" value="<%=strModel%>">
<input type="text" name="NextUpgrade" size="50" value="<%=strNextUpgrade %>">
<input type="text" name="Stock" size="50" value="<%=strStock%>">
<textarea name="UserHistory" cols="50" rows="10"><%=strUserHistory %></textarea>

これを邪悪なインターネットにさらすと、SQL インジェクションなどに対処する必要があることを少し警告します。これに関する素晴らしいStackoverflow の質問は、あらゆる種類の防止方法を示しています。

しかし、これで始められるはずです。

于 2013-02-06T10:00:04.040 に答える