اذهب إلى المحتوى

السؤال

نشر (معدل)

أتوفر على بنية الجدول التالي على برنامج قواعد البيانات Sql Server، وأريد ربط الجدول بتطيق على  visual Basic بلغة #C، وأتمكن من إدخال البيانات على الجدول باستعمال SqlDataSource و Parameters.

الجدول:

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)
);

 

Procedure من أجل استعمال parameters:

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

كود aps.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();
}

لكن الموضوع بأكمله لا يعمل، فهل من توضيح بخصوص هذه التقنية؟

تم التعديل في بواسطة Simoh

Recommended Posts

  • 0
نشر

يمكنك التعديل على  SqlDataSource  المستعملة في تطبيقك، عبر تغيير جملة الاستعلام المستعملة، وذلك من خلال:

IUfv4.png.c18ccf7241b5df2206ebaf7b8c9beb

وهذا نموذج بسيط على الكود المولد بشكل تلقائي، يمكنك التعديل عليه حسب الحاجة:

 <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>

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...