SidStark Ответов: 0

Я хочу получить имя пользователя вошедшего в систему пользователя из одной базы данных и добавить его в другой столбец базы данных


Мне нужно получить имя пользователя вошедшего в систему пользователя и сохранить его в таблице бронирования при бронировании встречи
Имя пользователя доступно в таблице регистрации моей базы данных
P. S: Пользователь использует свое имя пользователя и пароль для входа в систему

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

namespace PetSittingAdoptionStore
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        SqlConnection con = new SqlConnection();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["User"] == null)
            {
                Response.Redirect("~/login.aspx");
            }

            pnldogdhour.Visible = false;
            pnldogday.Visible = false;
            pnlcathour.Visible = false;
            pnlcatday.Visible = false;
            con.ConnectionString = "Data Source=sidstark\\sqlexpress;Initial Catalog=PetSitting;Integrated Security=True";
        }

        protected void rdbtndoghour_CheckedChanged(object sender, EventArgs e)
        {
            if (rdbtndoghour.Checked)
            {
                pnldogdhour.Visible = true;
            }
        }

        protected void rdbtndogday_CheckedChanged(object sender, EventArgs e)
        {
            if (rdbtndogday.Checked)
            {
                pnldogday.Visible = true;
            }
        }

        protected void rdbtncathour_CheckedChanged(object sender, EventArgs e)
        {
            if (rdbtncathour.Checked)
            {
                pnlcathour.Visible = true;
            }
        }

        protected void rdbtncatday_CheckedChanged(object sender, EventArgs e)
        {
            if (rdbtncatday.Checked)
            {
                pnlcatday.Visible = true;
            }
        }

        protected void btndogappointment_Click(object sender, EventArgs e)
        {
            con.Open();
            string strquery = "Select Username from SignUp where Username=@Username";
            SqlCommand cmd = new SqlCommand("insert into DogDayCare" + "(Username,Name,Breed,Size,FromTime,ToTime,DropOff,Comment)values(@Username,@DName,@DBreed,@DSize,@DFromTime,@DToTime,@DDropOff,@DComment)", con);
            cmd.Parameters.AddWithValue("@Username", strquery.ToString());
            cmd.Parameters.AddWithValue("@DName", txtdogname.Text);
            cmd.Parameters.AddWithValue("@DBreed", dropdogbreed.SelectedValue);
            if (rdbtndogsm.Checked)
            {
                cmd.Parameters.AddWithValue("@DSize", rdbtndogsm.Text);
            }
            else if (rdbtndogmd.Checked)
            {
                cmd.Parameters.AddWithValue("@DSize", rdbtndogmd.Text);
            }
            else if (rdbtndoglg.Checked)
            {
                cmd.Parameters.AddWithValue("@DSize", rdbtndoglg.Text);
            }
            else if (rdbtndoggt.Checked)
            {
                cmd.Parameters.AddWithValue("@DSize", rdbtndoggt.Text);
            }
            if (rdbtndoghour.Checked)
            {
                cmd.Parameters.AddWithValue("@DFromTime", dropdogfromtime.SelectedValue);
                cmd.Parameters.AddWithValue("@DToTime", dropdogtotime.SelectedValue);
                cmd.Parameters.AddWithValue("@DDropoff", clndrdogdropoff.SelectedDate == null);
            }
            else if(rdbtndogday.Checked)
            {
                cmd.Parameters.AddWithValue("@DDropOff", clndrdogdropoff.SelectedDate);
                cmd.Parameters.AddWithValue("@DFromTime", dropdogfromtime.SelectedValue == null);
                cmd.Parameters.AddWithValue("@DToTime", dropdogtotime.SelectedValue == null);
            }
            cmd.Parameters.AddWithValue("@DComment", txtdogcomment.Text);
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();
        }

        protected void btncatappointment_Click(object sender, EventArgs e)
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("insert into CatDayCare" + "(Name,Breed,Size,FromTime,ToTime,DropOff,Comment)values(@CName,@CBreed,@CSize,@CFromTime,@CToTime,@CDropOff,@CComment)", con);
            cmd.Parameters.AddWithValue("@CName", txtcatname.Text);
            cmd.Parameters.AddWithValue("@CBreed", dropcatbreed.SelectedValue);
            if (rdbtndogsm.Checked)
            {
                cmd.Parameters.AddWithValue("@CSize", rdbtncatsm.Text);
            }
            else if (rdbtndogmd.Checked)
            {
                cmd.Parameters.AddWithValue("@CSize", rdbtncatmd.Text);
            }
            else if (rdbtndoglg.Checked)
            {
                cmd.Parameters.AddWithValue("@CSize", rdbtncatlg.Text);
            }
            if (rdbtncathour.Checked)
            {
                cmd.Parameters.AddWithValue("@CFromTime", dropcatfromtime.SelectedValue);
                cmd.Parameters.AddWithValue("@CToTime", dropcattotime.SelectedValue);
                cmd.Parameters.AddWithValue("@CDropOff", clndrcatdropoff.SelectedDate == null);
            }
            else if (rdbtncatday.Checked)
            {
                cmd.Parameters.AddWithValue("@CDropOff", clndrcatdropoff.SelectedDate);
                cmd.Parameters.AddWithValue("@CFromTime", dropcatfromtime.SelectedValue == null);
                cmd.Parameters.AddWithValue("@CToTime", dropcattotime.SelectedValue == null);
            }
            cmd.Parameters.AddWithValue("@CComment", txtcatcomment.Text);
            cmd.ExecuteNonQuery();
            cmd.Dispose();
            con.Close();
        }
    }
}


Что я уже пробовал:

Вообще то я новичок в этом деле так что пожалуйста помогите

Ram Nunna

С какой проблемой вы столкнулись? любое исключение, пожалуйста, добавьте.

CHill60

Вы должны объяснить в чем проблема

j snooze

Я думаю, мы предполагаем, что вы можете хотя бы немного прочитать код, который вы вставили сюда. Если вы не можете, то мы не можем вам сильно помочь, потому что на данный момент похоже, что имя пользователя хранится в переменной сеанса (Session["User"]), и похоже, что кто-то попытался заполнить параметр username в них всем значением запроса, а не только именем пользователя.
На основе этой строки cmd.Parameters.AddWithValue ("@Username", strquery.Метод toString());...

F-ES Sitecore

Если у вас есть имя пользователя в сеансе["пользователь"], то используйте его вместо этого

cmd.параметры.AddWithValue("@Username", (string)Session["User"]);

предполагается, что "пользователь" - имя пользователя, если нет, и идентификатор, а затем использовать это, чтобы получить имя пользователя с идентификатором, или Google как использовать вставки с помощью команды Join, как это выглядит, как вам нужно, чтобы присоединиться к вашей целевой таблицы с пользовательской таблицей, вот как можно вставить значения из одной таблицы в другую.

SidStark

Получение этой ошибки при попытке вашего решения
Не удается привести объект типа 'System.Веб.Пользовательского интерфейса.WebControls.Текстовое поле "для ввода" системы.Струна".

F-ES Sitecore

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

Сеанс["пользователь"] = txtUsername;

так и должно быть

Session["User"] = txtUsername.Текст;

0 Ответов