2016-06-29 6 views
1

Mit einem Dropdown-Feld und einer Schaltfläche versuche ich, PharmacyId in eine Auftragstabelle einzufügen, aber ich weiß nicht, wie Sie die Pharmacizid als speichern Variable, um es wie die anderen Werte zu lesen, die ich bekomme. Ich habe den Rest als Sitzungen wie so gespeichert:So speichern Sie einen Wert aus einer Datenbank als Variable in einer Insert-Anweisung

Protected Sub btnconfirm_Click(sender As Object, e As EventArgs) Handles btnconfirm.Click 

     ' Dropdown for pharmacy someVariable = DropPharm.SelectedItem.Value 


     Dim PatientId As Integer = Session("PatientId") 
     Dim DoctorId As Integer = Session("DoctorId") 
     Dim PharmacyId As Integer ' pharmacy must be stored(DropPharm.SelectedValue must be the selected value) 
     Dim MedicineId As Integer = Session("MedicineId") 
     Dim DateOrdered As Date 


     ' How to get pharmacy id stored 

       'select pharmacy_id from Pharmacy where Pharmname = ''; ?? 


     Dim query As String = String.Empty 
     query &= "INSERT INTO Order_pres (PatientId, PharmacyId, MedicineId, " 
     query &= "      DoctorId, Dateordered) " 
     query &= "VALUES (@PatientId, @MedicineId, @PharmacyId, @DoctorId, @DateOrdered)" 



     Dim sqlCs As String = ConfigurationManager.ConnectionStrings("SurgeryConnectionString").ConnectionString 

     Using conn As New SqlConnection(sqlCs), 
       comm As New SqlCommand(query, conn) 
      With comm.Parameters 



       .Add("@PatientId", SqlDbType.Int).Value = Session("PatientId") 
       .Add("@DoctorId", SqlDbType.Int).Value = Session("DoctorId") 
       .Add("@MedicineId", SqlDbType.Int).Value = Session("MedicineId") 
       .Add("@PharmacyId", SqlDbType.Int).Value = Session("PharmacyId") 
       .Add("@DateOrdered", SqlDbType.DateTime).Value = DateTime.Parse(DateOrdered) 



      End With 


      Try 
       conn.Open() 
       Dim rowInserted = comm.ExecuteNonQuery() 
       If rowInserted = 1 Then 
        lblconfirm.Text = "Order Placed" 
       Else 
        lblnoconfirm.Text = "Order not placed" 
       End If 
      Catch ex As SqlException 
       lblnoconfirm.Text = "Unexpectd error: " & ex.Message 
      End Try 

     End Using 

Die pharmacyId mit dieser Drop-Down-und SQL-Datenquelle auf der ASPX-Seite angezeigt:

<asp:SqlDataSource ID="SqlPharm" runat="server" ConnectionString="<%$ ConnectionStrings:SurgeryConnectionString %>" SelectCommand="SELECT DISTINCT PharmacyId, Pharmname FROM Pharmacy "></asp:SqlDataSource> 



<asp:DropDownList ID="DropPharm" runat="server" DataSourceID="SqlPharm" DataTextField="Pharmname" DataValueField="PharmacyId"></asp:DropDownList> 

Wenn ein Wert aus der Dropdown ausgewählt ist und die Schaltfläche geklickt wird ich habe es zur Zeit auf dem Etikett erscheinen, ich versuche es einfach als Variable gespeichert zu bekommen, damit es

in die insery Abfrage gelesen werden kann

enter image description here

helfen 10

Hoffentlich kann jemand, danke

+0

, was der Fehler ist Sie bekommen. Oder Sie möchten wissen, wie Sie den Wert –

+0

einfügen Ich möchte wissen, wie Sie den Wert einfügen, muss es als Variable gespeichert werden - der Rest haben Werte als Sitzungen, dies kann nicht für die Apotheke ID getan werden - zuerst muss es sein eine Select-Anweisung, zB: ''apotheke_id aus Apotheke wählen, wo Pharmname =' '; ?? 'dann eine neue Verbindungszeichenfolge, aber ich weiß nicht, wie man das tut – laurajs

+0

Sie können einfach ersetzen' .Add ("@ PharmacyId", SqlDbType.Int) .Wert = Session ("PharmacyId") 'zu.' Add ("@PharmacyId", SqlDbType.Int) .Wert = Convert.ToInt32 (DropPharm.selectedvalue) 'und lassen Sie mich wissen, –

Antwort

1

Sie benötigen Wert in der richtigen Reihenfolge passieren

Dim query As String = String.Empty 
     query &= "INSERT INTO Order_pres (PatientId, PharmacyId, MedicineId, " 
     query &= "      DoctorId, Dateordered) " 
     query &= "VALUES (@PatientId, @MedicineId, @PharmacyId, @DoctorId, @DateOrdered)" 

Dim query As String = String.Empty 
     query &= "INSERT INTO Order_pres (PatientId, PharmacyId, MedicineId, " 
     query &= "      DoctorId, Dateordered) " 
     query &= "VALUES (@PatientId,@PharmacyId, @MedicineId, @DoctorId, @DateOrdered)" 

sein, dieses Ihr Problem behoben wird

Verwandte Themen