2016-03-08 3 views
1

У меня есть сайт портала, на котором пользователи просматривают список больниц. Теперь я хочу, чтобы пользователи оценивали любые больницы. Здесь у меня есть 6 разных оценок для 1 больницы. Я хочу, чтобы пользователи сначала выбирали все эти рейтинги &, когда они нажимают на submit, и только он должен вставлять в базу данных. А также могут оценивать только тех пользователей, которые вошли на сайт. Я создал пользовательскую страницу регистрации/регистрации & пользователи могут войти на сайт отлично, но теперь, как интегрировать все это, я понятия не имею. Пожалуйста, помогите мне. Этот звук простой, но так как я новичок в VB развитие я получаю проблемы ...vb.net несколько рейтингов при нажатии кнопки

рейтинг ASPX

<!--star-left-starts--><div class="star-left"> 
         <div class="star-rating1"> 
          <strong>Resonability Of Charges</strong><br /> 
          <cc1:ToolkitScriptManager ID="ToolkitScriptManager2" runat="server"> 
          </cc1:ToolkitScriptManager> 
          <cc1:Rating ID="Rating2" ClientIDMode="Static" AutoPostBack="true" OnChanged="money" runat="server" 
           StarCssClass="Star" WaitingStarCssClass="WaitingStar" EmptyStarCssClass="Star" 
           FilledStarCssClass="FilledStar" MaxRating="10" CurrentRating="1"> 
          </cc1:Rating> 
         </div> 


         <div class="star-rating2"> 
          <strong>Staff Behaviour</strong><br /> 
          <cc1:Rating ID="Rating3" ClientIDMode="Static" AutoPostBack="true" OnChanged="behaviour" runat="server" 
           StarCssClass="Star" WaitingStarCssClass="WaitingStar" EmptyStarCssClass="Star" 
           FilledStarCssClass="FilledStar" MaxRating="10" CurrentRating="1"> 
          </cc1:Rating> 
         </div> 


         <div class="star-rating3"> 
          <strong>Admission Procedure</strong><br /> 
          <cc1:Rating ID="Rating4" ClientIDMode="Static" AutoPostBack="true" OnChanged="admission" runat="server" 
           StarCssClass="Star" WaitingStarCssClass="WaitingStar" EmptyStarCssClass="Star" 
           FilledStarCssClass="FilledStar" MaxRating="10" CurrentRating="1"> 
          </cc1:Rating> 
         </div> 
        </div><!--star-left-ends--> 



        <!--star-right-starts--><div class="star-right"> 
         <div class="star-rating4"> 
          <strong>Proper Information</strong><br /> 
          <cc1:Rating ID="Rating5" ClientIDMode="Static" AutoPostBack="true" OnChanged="information" runat="server" 
           StarCssClass="Star" WaitingStarCssClass="WaitingStar" EmptyStarCssClass="Star" 
           FilledStarCssClass="FilledStar" MaxRating="10" CurrentRating="1"> 
          </cc1:Rating> 
         </div> 


         <div class="star-rating5"> 
          <strong>Hygine Standards</strong><br /> 
          <cc1:Rating ID="Rating6" ClientIDMode="Static" AutoPostBack="true" OnChanged="hygine" runat="server" 
           StarCssClass="Star" WaitingStarCssClass="WaitingStar" EmptyStarCssClass="Star" 
           FilledStarCssClass="FilledStar" MaxRating="10" CurrentRating="1"> 
          </cc1:Rating> 
         </div> 


         <div class="star-rating6"> 
          <strong>Treatment Satisfactions</strong><br /> 
          <cc1:Rating ID="Rating7" ClientIDMode="Static" AutoPostBack="true" OnChanged="treatment" runat="server" 
           StarCssClass="Star" WaitingStarCssClass="WaitingStar" EmptyStarCssClass="Star" 
           FilledStarCssClass="FilledStar" MaxRating="10" CurrentRating="1"> 
          </cc1:Rating> 
         </div> 
        </div><!--star-right-ends--> 


        <div class="clear"></div> 
       </div><!--star-rates-ends--> 

рейтинг В.Б

Protected Sub money(sender As Object, e As RatingEventArgs) 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(charges)values(@Rating)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@Rating", e.Value) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 

    Protected Sub Charges(sender As Object, e As RatingEventArgs) 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(behaviour)values(@Rating)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@Rating", e.Value) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 

    Protected Sub admission(sender As Object, e As RatingEventArgs) 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(admission)values(@Rating)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@Rating", e.Value) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 

    Protected Sub behaviour(sender As Object, e As RatingEventArgs) 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(behaviour)values(@Rating)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@Rating", e.Value) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 
    Protected Sub information(sender As Object, e As RatingEventArgs) 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(information)values(@Rating)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@Rating", e.Value) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 

    Protected Sub hygine(sender As Object, e As RatingEventArgs) 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(hygine)values(@Rating)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@Rating", e.Value) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 

    Protected Sub treatment(sender As Object, e As RatingEventArgs) 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(treatment)values(@Rating)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@Rating", e.Value) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 

Войти код VB

Private Sub hospital_details_Load(sender As Object, e As EventArgs) Handles Me.Load 
     Dim var, Type As String 
     If Not HttpContext.Current.Request.Cookies("chkusername") Is Nothing Then 
      var = Server.HtmlEncode(Request.Cookies("chkusername").Value) 
     End If 

     If Not HttpContext.Current.Request.Cookies("User_Type") Is Nothing Then 
      Type = Server.HtmlEncode(Request.Cookies("User_Type").Value) 
     End If 

     Dim LogIn, LogOut, listup As Control 
     Dim BtnProfile As Button = Page.Master.FindControl("myAccount") 

     LogIn = Master.FindControl("login") 
     LogOut = Master.FindControl("logout") 
     listup = Master.FindControl("list") 

     'not login 
     If HttpContext.Current.Request.Cookies("chkusername") Is Nothing Then 
      listup.Visible = True 
      LogIn.Visible = True 
      LogOut.Visible = False 
      BtnProfile.Visible = False 

      'login 
     Else 
      LogOut.Visible = True 
      BtnProfile.Visible = True 
      LogIn.Visible = False 
      listup.Visible = False 

     End If 
End Sub 

ОБНОВЛЕНИЕ ОШИБКИ enter image description here

ОБНОВЛЕНО CODE ON Кнопка Нажмите

Private Sub sendReview_Click(sender As Object, e As EventArgs) Handles sendReview.Click 
     Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
     Dim Mrating2, Mrating3, Mrating4, Mrating5, Mrating6, Mrating7 As String 
     Mrating2 = Rating2.CurrentRating 
     Mrating3 = Rating3.CurrentRating 
     Mrating4 = Rating4.CurrentRating 
     Mrating5 = Rating5.CurrentRating 
     Mrating6 = Rating6.CurrentRating 
     Mrating7 = Rating7.CurrentRating 
     Using con As New MySqlConnection(constr) 
      Using cmd As New MySqlCommand("insert into ratings(hospitalID,charges,behaviour,admission,information,hygine,treatment)values(@hospitalid,@Rating2,@Rating3,@Rating4,@Rating5,@Rating6,@Rating7)") 
       Using sda As New MySqlDataAdapter() 
        cmd.CommandType = CommandType.Text 
        cmd.Parameters.AddWithValue("@hospitalID", generalID.Text) 
        cmd.Parameters.AddWithValue("@Rating2", Mrating2) 
        cmd.Parameters.AddWithValue("@Rating3", Mrating3) 
        cmd.Parameters.AddWithValue("@Rating4", Mrating4) 
        cmd.Parameters.AddWithValue("@Rating5", Mrating5) 
        cmd.Parameters.AddWithValue("@Rating6", Mrating6) 
        cmd.Parameters.AddWithValue("@Rating7", Mrating7) 
        cmd.Connection = con 
        con.Open() 
        cmd.ExecuteNonQuery() 
        con.Close() 
       End Using 
      End Using 
     End Using 
     Response.Redirect(Request.Url.AbsoluteUri) 
    End Sub 
+0

Здесь могли бы вы сказать мне, сколько столбцов вашей таблицы рейтингов? –

+0

@PiyushKhatri Я сделал 6 разных столбцов для всех 6 типов рейтингов и одной колонки, которая получает идентификатор больницы каждой попытки рейтинга и один для пользователей, который регистрирует пользователей, которые оценили. –

+0

Да, это так. Вы можете попробовать вставить одну строку вместо разных запросов, например, вставить в оценки (идентификаторы пользователя, hospitalID, рейтинг1, рейтинг2, рейтинг3 ...) значения (userid, hospitalid, r1, r2, r3 ...) –

ответ

0

Попробуйте что-то вроде ниже,

Dim constr As String = ConfigurationManager.ConnectionStrings("conio").ConnectionString 
Using con As New MySqlConnection(constr) 
    Using cmd As New MySqlCommand("insert into ratings(userid,hospitalid,charges,behaviour,admission,information,hygine,treatment)values(@userid,@hospitalid,@Rating1,@Rating2,@Rating3,@Rating4,@Rating5,@Rating6)") 
     Using sda As New MySqlDataAdapter() 
      cmd.CommandType = CommandType.Text 
      cmd.Parameters.AddWithValue("@userid", userid) 
      cmd.Parameters.AddWithValue("@hospitalid", hospitalid) 
      cmd.Parameters.AddWithValue("@Rating1", Rating1.value) 
      cmd.Parameters.AddWithValue("@Rating2", Rating2.value) 
      cmd.Parameters.AddWithValue("@Rating3", Rating3.value) 
      cmd.Parameters.AddWithValue("@Rating4", Rating4.value) 
      cmd.Parameters.AddWithValue("@Rating5", Rating5.value) 
      cmd.Parameters.AddWithValue("@Rating6", Rating6.value) 
      cmd.Connection = con 
      con.Open() 
      cmd.ExecuteNonQuery() 
      con.Close() 
     End Using 
    End Using 
End Using 
+0

Получил некоторые ошибки. Пожалуйста, посмотрите на обновление в моем сообщении –

+0

Я понял ошибку hospitalID. Но как насчет рейтингов? –

+0

Проверить свойства рейтингового контроля. Возможно, вместо ценности у вас будет другое свойство, чтобы получить значение. –

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