[英]ASP.NET / C# SqlDataSource commands and parameters based on table
[英]How to insert into a table using SqlDataSource & Parameters in ASP.NET?
我在嘗試獲取一些代碼來工作時遇到了麻煩。 我有一個ASP.NET站點,該站點設置為當用戶選擇兩個值並單擊一個按鈕時更新數據庫。 然后, SqlDataSource
應該執行一個存儲過程,該過程會將兩個值和當前用戶的UserName
插入數據庫中。
但是由於某種原因,我只是無法使其正常工作。 沒有標志彈出,但是數據庫似乎沒有接收到任何數據。 希望任何人都可以提供幫助,以下是相關代碼:
我的桌子:
CREATE TABLE [dbo].[Prescriptions]
(
[Prescription_ID] INT IDENTITY (1, 1) NOT NULL,
[Doctor_UserName] NVARCHAR (50) NOT NULL,
[Patient_UserName] NVARCHAR (50) NOT NULL,
[Drug_ID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([Prescription_ID] ASC)
);
存儲過程:
CREATE PROCEDURE [dbo].[AddPrescription]
@doctor nvarchar(50),
@patient nvarchar(50),
@drug nvarchar(MAX)
AS
INSERT INTO dbo.Prescriptions (Doctor_UserName, Patient_UserName, Drug_ID)
SELECT @doctor, @patient, d.Drug_ID
FROM dbo.Drug AS d
WHERE d.Trade_Name = @drug
Asp.Net代碼:
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:DefaultConnection %>"
SelectCommand="AddPrescription" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter Name="doctor" Type="String" />
<asp:ControlParameter ControlID="PatientDropDown" Name="patient"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="PrescriptionDropDown" Name="drug"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
按鈕后面的代碼:
protected void CreatePrescriptionBtn_Click(object sender, EventArgs e)
{
SqlDataSource3.SelectParameters["doctor"].DefaultValue = System.Web.HttpContext.Current.User.Identity.Name.ToString();
SqlDataSource3.DataBind();
}
重建您的SQL數據源,選擇“指定自定義SQL語句或存儲過程”
這是一個大概的粗略簡單示例:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:pubsConnectionString %>"
SelectCommand="SELECT [ID], [CustomerName], [Population] FROM [TestTable]"
InsertCommand="byroyalty" InsertCommandType="StoredProcedure">
<InsertParameters>
<asp:Parameter Name="percentage" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.