2017-01-04 3 views
0

На моей странице веб-формы мне нужно вставить значение в таблицу SQL с помощью службы WCF. Когда я исполняю только файл WCF, значение вызывается, а затем я подключаюсь к странице веб-формы, значение не было вставлено.Как вставить значения в таблицу SQL с помощью службы WCF?

Webform Код

<div> 
    <asp:TextBox value="" class="form-control" ID="Txtboxreg" runat="server" placeholder="Reg.No*"></asp:TextBox> 
    <asp:TextBox value="" class="form-control" ID="txtdr" runat="server" placeholder="Doctor*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtSalutation" runat="server" placeholder="Salutation*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtPatientName" runat="server" placeholder="PatientName*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtAge" runat="server" placeholder="Age*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtdob" runat="server" placeholder="DOB*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtGender" runat="server" placeholder="Gender*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtRemarks" runat="server" placeholder="Remarks"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtAddress" runat="server" placeholder="Address*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtMobileNumber" runat="server" placeholder="MobileNumber*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtCity" runat="server" placeholder="City*"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtCorporateName" runat="server" placeholder="CorporateName"></asp:TextBox> 
    <asp:TextBox class="form-control" ID="txtReferralDoctor" runat="server" placeholder="ReferralDoctor"></asp:TextBox> 
</div> 
<div> 
    <asp:Button ID="bbtb" runat="server" Text="SAVE" OnClick="Button1_Click" Width="87px" /> 
</div> 

C# Код

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Text; 
using System.Web.UI.WebControls; 
using Wcftest.ServiceReference1; 
using System.Web.UI.HtmlControls; 
namespace Wcftest 
{ 
    public partial class WebForm1 : System.Web.UI.Page 
    { 
     ServiceReference1.Service1Client objServiceClientobjService = new ServiceReference1.Service1Client(); 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 
     protected void Button1_Click(object sender, EventArgs e) 
     { 
      UserDetails userInfo = new UserDetails(); 
      userInfo.Reg_No = Txtboxreg.Text; 
      userInfo.Doctor = txtdr.Text; 
      userInfo.Salutation = txtSalutation.Text; 
      userInfo.PatientName = txtPatientName.Text; 
      userInfo.Age = txtAge.Text; 
      userInfo.DOB = txtdob.Text; 
      userInfo.Gender = txtGender.Text; 
      userInfo.Address = txtAddress.Text; 
      userInfo.MobileNumber = txtMobileNumber.Text; 
      userInfo.City = txtCity.Text; 
      userInfo.CorporateName = txtCorporateName.Text; 
      userInfo.Remarks = txtRemarks.Text; 
      userInfo.ReferralDoctor = txtReferralDoctor.Text; 

      string result = objServiceClientobjService.InsertUserDetails(userInfo); 
      LabelMessage.Text = result; 
     } 
    } 
} 

WCF Код

IService1.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.Serialization; 
using System.ServiceModel; 
using System.ServiceModel.Web; 
using System.Text; 
using System.Data.SqlClient; 
using System.Data; 

namespace Wcftest 
{ 
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together. 
    [ServiceContract] 
    public interface IService1 
    { 

     [OperationContract] 
     string GetData(int value); 

     [OperationContract] 
     CompositeType GetDataUsingDataContract(CompositeType composite); 

     [OperationContract] 
     string InsertUserDetails(UserDetails userInfo); 
    } 


    // Use a data contract as illustrated in the sample below to add composite types to service operations. 
    [DataContract] 
    public class CompositeType 
    { 
     bool boolValue = true; 
     string stringValue = "Hello "; 

     [DataMember] 
     public bool BoolValue 
     { 
      get { return boolValue; } 
      set { boolValue = value; } 
     } 

     [DataMember] 
     public string StringValue 
     { 
      get { return stringValue; } 
      set { stringValue = value; } 
     } 
    } 
    public class UserDetails 
    { 
     string qReg_No = string.Empty; 
     string qDoctor = string.Empty; 
     string qSalutation = string.Empty; 
     string qPatientName = string.Empty; 
     string qAge = string.Empty; 
     string qDOB = string.Empty; 
     string qGender = string.Empty; 
     string qAddress = string.Empty; 
     string qMobileNumber = string.Empty; 
     string qCity = string.Empty; 
     string qCorporateName = string.Empty; 
     string qRemarks = string.Empty; 
     string qReferralDoctor = string.Empty; 

     [DataMember] 
     public string Reg_No 
     { 
      get { return qReg_No; } 
      set { qReg_No = value; } 
     } 
     [DataMember] 
     public string Doctor 
     { 
      get { return qDoctor; } 
      set { qDoctor = value; } 
     } 
     [DataMember] 
     public string Salutation 
     { 
      get { return qSalutation; } 
      set { qSalutation = value; } 
     } 
     [DataMember] 
     public string PatientName 
     { 
      get { return qPatientName; } 
      set { qPatientName = value; } 
     } 
     [DataMember] 
     public string Age 
     { 
      get { return qAge; } 
      set { qAge = value; } 
     } 
     [DataMember] 
     public string DOB 
     { 
      get { return qDOB; } 
      set { qDOB = value; } 
     } 
     [DataMember] 
     public string Gender 
     { 
      get { return qGender; } 
      set { qGender = value; } 
     } 
     [DataMember] 
     public string Address 
     { 
      get { return qAddress; } 
      set { qAddress = value; } 
     } 
     [DataMember] 
     public string MobileNumber 
     { 
      get { return qMobileNumber; } 
      set { qMobileNumber = value; } 
     } 
     [DataMember] 
     public string City 
     { 
      get { return qCity; } 
      set { qCity = value; } 
     } 
     [DataMember] 
     public string CorporateName 
     { 
      get { return qCorporateName; } 
      set { qCorporateName = value; } 
     } 
     [DataMember] 
     public string Remarks 
     { 
      get { return qRemarks; } 
      set { qRemarks = value; } 
     } 
     [DataMember] 
     public string ReferralDoctor 
     { 
      get { return qReferralDoctor; } 
      set { qReferralDoctor = value; } 
     } 
    } 
} 

Service1.svc

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.Serialization; 
using System.ServiceModel; 
using System.ServiceModel.Web; 
using System.Text; 
using System.Data.SqlClient; 
using System.Data; 

namespace Wcftest 
{ 
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together. 
    // NOTE: In order to launch WCF Test Client for testing this service, please select Service1.svc or Service1.svc.cs at the Solution Explorer and start debugging. 
    public class Service1 : IService1 
    { 
     public string GetData(int value) 
     { 
      return string.Format("You entered: {0}", value); 
     } 

     public CompositeType GetDataUsingDataContract(CompositeType composite) 
     { 
      if (composite == null) 
      { 
       throw new ArgumentNullException("composite"); 
      } 
      if (composite.BoolValue) 
      { 
       composite.StringValue += "Suffix"; 
      } 
      return composite; 
     } 
     public string InsertUserDetails(UserDetails userInfo) 
     { 
      string Message; 
      SqlConnection con = new SqlConnection("Data Source=.;initial catalog=xyz;user id=123;password=123"); 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("insert into quickreg(qReg_No,qDoctor,qSalutation,qPatientName,qAge,qDOB,qGender,qAddress,qMobileNumber,qCity,qCorporateName,qRemarks,qReferralDoctor) values (@Reg_No,@Doctor,@Salutation,@PatientName,@Age,@DOB,@Gender,@Address,@MobileNumber,@City,@CorporateName,@Remarks,@ReferralDoctor)", con); 
      cmd.Parameters.AddWithValue("@Reg_No", userInfo.Reg_No); 
      cmd.Parameters.AddWithValue("@Doctor", userInfo.Doctor); 
      cmd.Parameters.AddWithValue("@Salutation", userInfo.Salutation); 
      cmd.Parameters.AddWithValue("@PatientName", userInfo.PatientName); 
      cmd.Parameters.AddWithValue("@Age", userInfo.Age); 
      cmd.Parameters.AddWithValue("@DOB", userInfo.DOB); 
      cmd.Parameters.AddWithValue("@Gender", userInfo.Gender); 
      cmd.Parameters.AddWithValue("@Address", userInfo.PatientName); 
      cmd.Parameters.AddWithValue("@MobileNumber", userInfo.MobileNumber); 
      cmd.Parameters.AddWithValue("@City", userInfo.City); 
      cmd.Parameters.AddWithValue("@CorporateName", userInfo.CorporateName); 
      cmd.Parameters.AddWithValue("@Remarks", userInfo.Remarks); 
      cmd.Parameters.AddWithValue("@ReferralDoctor", userInfo.ReferralDoctor); 

      int result = cmd.ExecuteNonQuery(); 
      if (result == 1) 
      { 
       Message = userInfo.Reg_No + " Details inserted successfully"; 
      } 
      else 
      { 
       Message = userInfo.Reg_No + " Details not inserted successfully"; 
      } 
      con.Close(); 
      return Message; 
     } 
    } 
} 

Я добавил скриншот ниже для вашего удобства понимания.

Error Screen

+1

сделали вы получили какие-либо исключения? – Vinoth

+0

Является ли служба wcf в другом проекте, попробуйте получить некоторые данные, создав различную услугу для тестирования, доступна услуга здесь – Saineshwar

ответ

1

кажется, не проблема в ваших WCF сервисов.

Проверьте конфигурационный файл webforms.

следующая ссылка поможет вам Example

+0

все еще с тем же pblm –

+0

вы получаете какие-то исключения? – Vinoth

+0

Ваши услуги и веб-формы в том же проекте? – Vinoth

Смежные вопросы