必要な出力を取得するのに問題があります。現在、データベースを検索して結果を表示する 2 つのテキスト ボックスがあります (SerialNumber と SiteID)。現在、これらのボックスの両方が満たされている場合にのみ、データが表示されます。ただし、シリアル番号が空白でサイト ID が 3 の場合、サイト ID 3 のすべてのデータが再生されます。シリアル番号が T7 でサイト ID が空白の場合、シリアル番号が T7 のすべてのデータが表示されます。両方のフィールドが空の場合、何も表示されません。最後に、SerialNum が T7 で SiteID が 3 の場合、T7 と 3 のすべてのデータが表示されます。
現在: ボックスの 1 つが空の場合、データベースには何も表示されません。
C# を使用して .ASPX ファイルで使用しているコードを次に示します。必要な出力を取得するためにこのコードを提案できる人はいますか?おそらく CASE 句または IF を考えていましたが、コードのどこに配置するかわかりませんか? ありがとう
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
Enter Serial Number:<br />
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Search" />
<br />
<br />
Enter Site Name:<br />
<asp:TextBox ID="TextBox2" runat="server" ></asp:TextBox>
<br />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server"></asp:Label>
<br />
<asp:Label ID="Label3" runat="server"></asp:Label>
<br />
<br />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" BackColor="White" BorderColor="White"
BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1"
DataSourceID="SqlDataSource1" GridLines="None" AllowSorting="True">
<Columns>
<asp:BoundField DataField="SerialNum" HeaderText="SerialNum"
SortExpression="SerialNum" />
<asp:BoundField DataField="SiteId" HeaderText="SiteId"
SortExpression="SiteId" />
<asp:BoundField DataField="Location" HeaderText="Location"
SortExpression="Location" />
<asp:BoundField DataField="ContainerId" HeaderText="ContainerId"
SortExpression="ContainerId" />
<asp:CheckBoxField DataField="Misplaced" HeaderText="Misplaced"
SortExpression="Misplaced" />
<asp:CheckBoxField DataField="Frozen" HeaderText="Frozen"
SortExpression="Frozen" />
<asp:CheckBoxField DataField="Scratched" HeaderText="Scratched"
SortExpression="Scratched" />
<asp:CheckBoxField DataField="Destroyed" HeaderText="Destroyed"
SortExpression="Destroyed" />
<asp:BoundField DataField="ScratchpoolId" HeaderText="ScratchpoolId"
SortExpression="ScratchpoolId" />
<asp:BoundField DataField="Vendor" HeaderText="Vendor"
SortExpression="Vendor" />
<asp:CheckBoxField DataField="Exported" HeaderText="Exported"
SortExpression="Exported" />
<asp:CheckBoxField DataField="Erased" HeaderText="Erased"
SortExpression="Erased" />
<asp:CheckBoxField DataField="Bad" HeaderText="Bad" SortExpression="Bad" />
<asp:CheckBoxField DataField="Encrypted" HeaderText="Encrypted"
SortExpression="Encrypted" />
<asp:CheckBoxField DataField="Virtual" HeaderText="Virtual"
SortExpression="Virtual" />
<asp:BoundField DataField="ReturnDate" HeaderText="ReturnDate"
SortExpression="ReturnDate" />
<asp:BoundField DataField="ReturnSiteId" HeaderText="ReturnSiteId"
SortExpression="ReturnSiteId" />
</Columns>
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#594B9C" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#33276A" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:VerticesConnectionString %>"
SelectCommand="SELECT SerialNum, SiteId, Location, ContainerId, Misplaced, Frozen, Scratched, Destroyed, ScratchpoolId, Vendor, Exported, Erased, Bad, Encrypted, Virtual, ReturnDate, ReturnSiteId FROM Media
FULL JOIN MediaInfo
ON Media.MediaID= MediaInfo.MediaID
FULL JOIN MediaStatus
ON MediaInfo.MediaID= MediaStatus.MediaID
FULL JOIN MediaReturn
ON MediaStatus.MediaID= MediaReturn.MediaID
FULL JOIN MediaGenT
ON Media.NoteID= MediaGenT.NoteID
WHERE (([SerialNum] like '%' + @SerialNum + '%') AND ([SiteId] = @SiteId))">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="SerialNum" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextBox2" Name="SiteId" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>