簡體   English   中英

比較文本框與sql數據庫,插入sql命令

[英]Compare textbox to sql database, insert sql command

我正在使用Visual Web Developer 2010創建學校的“項目”。 這很簡單。

這個想法是針對醫療機構的患者自助登機亭。

我已經用以下命令創建了我的sql數據庫:

Table: Doctors
Fields: Doctor_ID (PK), Doctor_F_Name, Doctor_L_Name

Table: Patients
Fields: Patient_ID (PK), Patient_F_Name, Patient_L_Name

Table: Appointments
Fields: Appointment_ID (PK), Appt_Day, Appt_Mo, Appt_Yr, Patient_ID (SK), Doctor_ID (SK), Appt_Time, Appt_Reason, Checked_In

因此,代碼的第一頁布局簡單,帶有3個文本輸入框,詢問患者的名字,姓氏和SSN的后4位( Patient_ID )和一個提交按鈕。

我想將文本框中的數據用於與數據庫進行比較,並提出以下問題:“您今天在這里( Appt_Time )與( Doctor_L_Name博士)一起為( Appt_ReasonAppt_Reason嗎?)然后是一個復選框或下拉菜單,是或否,如果選擇是,則在checked_in字段中插入一個“ 1”( binary

我已經創建了文本框和按鈕:

<script runat="server">
sub submit (sender as object, e as eventargs)
lbl1.text= "Hello, " & Textbox1.text &" " & Textbox2.Text
end sub
</script>

<h2> First Name </h2>
<asp:textbox id=Textbox1" runat"server" />
<h2> Last Name </h2>
<asp:textbox id=Textbox2" runat"server" />
<h2> Last 4 of SSN </h2>
<asp:textbox id=Textbox3" runat"server" />
<asp:button: ID="Button1" onclick="submit" runat="server" text="submit" />
<asp::label id="lbl1" runat="server" />

在此之下,我進行了一些調試檢查,以確保與sql server的通信正常進行,並且可以使用以下連接設置將表信息放入gridview中而不會出現問題:

<asp:sqldatasource id="sqldatasource3" runat="server" connectionstring="<%$ connectionstrings:PB_MedicalConnectionString %>"
selectcommand="select * from [Patients]" />

然后運行GridView:

<asp:gridview id="gridview1" runat="server" datakeyNames="Patient_ID" Datasource="sqldatasource3">
<columns>
<asp:boundfield datafield="Patient_ID" HeaderText="Patient_ID" ReadOnly="True" SortExpression=""Patient_ID" />
<asp:boundfield datafield="Patient_F_Name" HeaderText="Patient_F_Name" ReadOnly="True" SortExpression=""Patient_F_Name" />
<asp:boundfield datafield="Patient_L_Name" HeaderText="Patient_L_Name" ReadOnly="True" SortExpression=""Patient_L_Name" />
</columns>
<//asp:gridview>

這將成功返回已經輸入數據庫的“患者”。

創建/完成此操作的任何幫助都將非常有用。 我已經厭倦了尋找技巧,嘗試,失敗的搜索,嘗試,失敗.....

謝謝,埃里克

這里有一些好的建議:

不要在ASP頁面中使用直接內聯SQL。 始終建議這樣做,而不再是調用的簡便性,而是在SQL中使用存儲過程,並讓asp.net頁使用參數調用存儲過程。 他們稱之為“ SQL注入”的東西有些邪惡,它允許用戶通過輸入框將惡意代碼注入您的SQL Server。

您的初始代碼中有一個SELECT * FROM 最好拼出要顯示的列。我也可能會問我的SQL存儲過程中的selectcommand = "SELECT fieldname from appointments where appointmentdate =" & "'" & now.date.tostring() & "'" where appointmentdate = getdate()還是因為無法注入而堅持使用內聯SQL: selectcommand = "SELECT fieldname from appointments where appointmentdate =" & "'" & now.date.tostring() & "'"

如何搜索約會和簽到的邏輯

假設您在default.aspx頁上,並且用戶鍵入了他們的姓名和ssn。 您將通過傳遞的代碼(名字,姓氏和ssn)調用存儲過程。 如果它恰好返回一行,則response.redirect("checkIn.aspx?id=" & returnedIdFromSproc)

在該頁面上,它有兩個按鈕,顯示問題“您要簽到嗎”。 是或否。在“是”之后,調用sproc以檢查是否傳遞了ID,並帶有一個no you response.redirect("default.aspx")

如果檢入成功,則可以使用returnIdFromSproc並將其傳遞到另一個存儲過程中,該存儲過程將使更新成為checkedIn。

有幫助嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM