如何将从“选择”查询中获得的值存储到 ASP.net 中的会话变量中

     2023-03-31     179

关键词:

【中文标题】如何将从“选择”查询中获得的值存储到 ASP.net 中的会话变量中【英文标题】:How do I store values obtained from the "select" query into the Session Variables in ASP.net 【发布时间】:2015-01-08 16:57:42 【问题描述】:

我是 ASP.net 的新手。我一直在从 Session[] 变量中获取值并存储到 Session 变量中,但是我无法存储在 ASP.net 中运行 SELECT 查询后获得的值。

示例:Select Fname, Mname , Lname from employee

运行此查询后,我想将“Fname”、“Mname”和“Lname”的值存储在 3 个单独的会话变量中,以便我可以从这些变量中检索所有其他页面。

这是我的代码来检查它是否是有效用户。我想要的是,一旦它通过身份验证,它的所有数据都会从数据库中获取并存储在会话变量中,以便它们可以直接在所有页面上使用。

`protected void Button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["UserDetailsForGridViewConnectionString"].ConnectionString); conn.Open();

        string loginCheck = " select count(*) from USERDETAILS where EMPLOYEEID='" + TextBox1.Text + "' and PASSWORD='" + TextBox2.Text + "'";
        SqlCommand myloginCheckcmd = new SqlCommand(loginCheck, conn);
        int temp = Convert.ToInt32(myloginCheckcmd.ExecuteScalar().ToString());
        if (temp == 1)
        
            LoginStatus.Text = "SUCCESS !!";
            temp = 0;
            Session["EMPLOYEEID_sn"] = TextBox1.Text;
            Session["IsLogin"] = "yesLogin";
            //TextBox1.Text = "";              
            Response.Redirect("~/CustomPages/Lecturer_PersonalDetailsPage.aspx");
            conn.Close();


        
        else 
        
            LoginStatus.Text = "Invalid Username/Password";
            temp = 0;
            TextBox1.Text = "";
            conn.Close();

        


    `

【问题讨论】:

您需要出示您的代码,以便我们为您提供帮助。 因为你刚刚开始,我建议你为值创建一个类,为每个值创建一个属性,然后用值填充类,并将类存储在会话中。它现在需要更多的学习,但会真正帮助你长期。 谢谢。是的,我刚刚开始在 ASP.net C# 上进行开发。我一直以这种方式赋值 Session["EMPLOYEEID_sn"] = TextBox1.Text;但想知道如何将结果值存储在 Session 中 @NikhilParmar 看起来您已经知道如何在会话中存储内容,但您真正要问的是如何从数据库中检索数据?如果我错了,请纠正我。 @MattyM 我知道如何仅从文本框存储在 Session 中。我知道如何编写 SQL 查询,但我不知道如何在会话中存储从运行 sql 查询获得的值。我有一个将 Eid、FNAME、MNAME、LNAME 和许多详细信息存储到数据库中的表单。我想要的是,当我使用正确的凭据登录时,我想获取特定 Eid 的所有数据并在几个页面上显示 Eid、Fname、Mname、Lname。所以我想将获得的值存储在会话中,这样我就可以直接在所有页面上使用它,而不是从数据库中获取它。 【参考方案1】:

您需要修改您的选择语句以恢复您要查找的字段。我不熟悉你的数据库,但它会是这样的:

Select Fname, Mname , Lname from employee inner join USERDETAILS on employee.employeeid = userdetails.employeeid

然后像这样使用 ExecuteReader 而不是 ExecuteScalar:

var rdr = myloginCheckcmd.ExecuteReader();
if(rdr.HasRows)

    while(rdr.Read())
    
      Session("fname") = rdr[0];
      Session("mname") = rdr[1];
      Session("lname") = rdr[2];
    
     LoginStatus.Text = "SUCCESS !!";
     Response.Redirect("~/CustomPages/Lecturer_PersonalDetailsPage.aspx");
        conn.Close();



else 

   LoginStatus.Text = "Invalid Username/Password";
   TextBox1.Text = "";
   conn.Close();
 

您可以对这段代码进行很多改进(考虑使用参数化查询),但希望这能满足您的需求。

【讨论】:

【参考方案2】:

如果你用 C# 开发,你可以使用:

DataSet ds = new DataSet();
ds = result of query;
Session["fname"] = ds.Tables[0].Rows[0]["FNAME"];
Session["mname"] = ds.Tables[0].Rows[0]["MNAME"];
Session["lname"] = ds.Tables[0].Rows[0]["LNAME"];

如果你用vb开发你可以使用:

Dim ds As New DataSet()
ds = return of query
Session("fname") = ds.Tables(0).Rows(0)("FNAME")
Session("mname") = ds.Tables(0).Rows(0)("MNAME")
Session("lname") = ds.Tables(0).Rows(0)("LNAME")

注意:你必须确定查询结果的数量,因为查询返回的结果不止1个,变量session只存储第一个

【讨论】:

谢谢。对不起我的愚蠢问题。但是我必须在你提到的 DataSet 代码中在哪里编写我的选择查询?我是否必须将查询写为 DataSet ds=new DataSet; ds=从员工中选择 fname、mname、lname;然后剩下的?

Apollo Client Angular:如何将从查询中获得的数据作为参数传递给graphql中的另一个查询?

】ApolloClientAngular:如何将从查询中获得的数据作为参数传递给graphql中的另一个查询?【英文标题】:ApolloClientAngular:howtopassthedataobtainedfromaqueryasanargumentinanotherqueryingraphql?【发布时间】:2021-08-0215:24:41【问题描述】:我正在使用a... 查看详情

如何将下拉选择框列表中用户选择的选项的值存储到 mysql 数据库中?

】如何将下拉选择框列表中用户选择的选项的值存储到mysql数据库中?【英文标题】:HowcanIstorethevalueofauserselectedoptionfromadropdownselectboxlistintomysqldatabase?【发布时间】:2015-01-3116:12:02【问题描述】:有一个带有下拉选择框列表的表... 查看详情

如何将键映射到 MySQL 选择查询中单个字段的值

】如何将键映射到MySQL选择查询中单个字段的值【英文标题】:HowtomapkeystovaluesforanindividualfieldinaMySQLselectquery【发布时间】:2013-04-1510:04:39【问题描述】:假设我们有一个字段状态(0表示禁用,1表示启用),我们需要直接使用MyS... 查看详情

如何将数据库查询结果中的值存储到机器人框架中的变量中[重复]

】如何将数据库查询结果中的值存储到机器人框架中的变量中[重复]【英文标题】:HowtostoreavaluefromdatabasequeryresultintoaVariableinRobotFramework[duplicate]【发布时间】:2020-03-1113:04:30【问题描述】:我已经编写了机器人框架代码来运行数... 查看详情

如何查询并确保返回的值只添加到数组中一次?

】如何查询并确保返回的值只添加到数组中一次?【英文标题】:HowdoIqueryandmakesurethatthevaluereturnedisonlyaddedtoanarrayonce?【发布时间】:2016-10-1018:00:23【问题描述】:我有一个代码通过palettes的所有子元素运行,并确定颜色十六进制... 查看详情

如何将对象中特定键的值存储到数组中 - Vue

】如何将对象中特定键的值存储到数组中-Vue【英文标题】:Howtostorevaluesfromaparticularkeyfromanobjectintoanarray-Vue【发布时间】:2019-10-0415:26:33【问题描述】:我不得不说,我是整个Vue框架的新手。我创建了一个可选择的表。从此表中... 查看详情

如何将从列表中选择的多个项目传递到下一个视图?

】如何将从列表中选择的多个项目传递到下一个视图?【英文标题】:HowdoIpassmultipleitemsselectedfromlisttonextview?【发布时间】:2021-09-1617:11:07【问题描述】:在我看来,我问了用户2个问题。在每个问题下方,我都有一个列表,允许... 查看详情

如何在子查询中使用 select 中的值?

】如何在子查询中使用select中的值?【英文标题】:Howtousevaluefromselectinasubquery?【发布时间】:2013-11-1409:35:44【问题描述】:我正在尝试加入一个选择语句。但是子查询选择返回的行太多,使其非常慢-因为我无法从第一个选择中... 查看详情

如何将从firebase存储上传的图像保存到firestore数据库中的currentUser

】如何将从firebase存储上传的图像保存到firestore数据库中的currentUser【英文标题】:HowtosaveimageuploadedfromfirebasestoragetocurrentUserinfirestoredatabase【发布时间】:2022-01-0615:29:48【问题描述】:我不确定如何获取上传到firebase存储的图片ur... 查看详情

如何将从地理位置获得的城市与我的数据库中存储的城市进行比较,如果城市存在,则通过 ajax 请求传递 id?

】如何将从地理位置获得的城市与我的数据库中存储的城市进行比较,如果城市存在,则通过ajax请求传递id?【英文标题】:Howtocomparecityobtainedfromgeolocationwithstoredcitiesinmydatabaseandifcityexistspasstheidthroughajaxrequest?【发布时间】:2018... 查看详情

如何查询按核心数据中唯一值分组的值?

】如何查询按核心数据中唯一值分组的值?【英文标题】:HowdoIqueryforvaluesgroupedbyuniquevaluesincoredata?【发布时间】:2015-12-0301:47:09【问题描述】:考虑上述具有多对多关系的模型。假设我正在查询以获取患者名字或姓氏为“xyz”... 查看详情

Swift:如何将从委托接收到的值传递给函数的完成块?

】Swift:如何将从委托接收到的值传递给函数的完成块?【英文标题】:Swift:howtopassavaluereceivedfromdelegatetoafunction\'scompletionblock?【发布时间】:2020-06-2715:42:05【问题描述】:我正在尝试在Swift4.2中使用AVFoundation捕获图像捕获函数位... 查看详情

如何将从存储过程创建的绑定源绑定到gridview

】如何将从存储过程创建的绑定源绑定到gridview【英文标题】:Howdoibindabindingsourcecreatedfromstoredproceduretoagridview【发布时间】:2022-01-0718:00:20【问题描述】:首先,我的数据库中有3个表:StudentStudentIDNameAdressOtherInfoTuitionFeeStudentIDYe... 查看详情

如何使用 VueJS 和 axios 将从 API 获取的数据填充到 Laravel 中的选择选项中?

】如何使用VueJS和axios将从API获取的数据填充到Laravel中的选择选项中?【英文标题】:HowcanIpopulatedatawhichisfetchedfromAPIintoselectoptioninLaravelusingVueJSandaxios?【发布时间】:2020-08-1116:22:28【问题描述】:我已经尝试了各种方法来将我的A... 查看详情

求教,如何获得combobox中当前选择的值

参考技术AonSelect:function(rec)varval=$('#cc1').combobox('getValues').join(',');$('#OperationID').val(val);这样可以多选,用一个文本框解决后台取值问题,后台直接取值的话,跟你一样问题 查看详情

选择查询并存储到变量中

】选择查询并存储到变量中【英文标题】:SelectQueryandstoringintoavariable【发布时间】:2016-03-3011:56:42【问题描述】:我正在尝试从数据库中选择一些数据,然后将该值存储到一个字符串中,以便稍后在程序中使用。我认为我必须... 查看详情

如何一次将从 Firebase 检索到的数据存储在 ArrayList<String> 中?

】如何一次将从Firebase检索到的数据存储在ArrayList<String>中?【英文标题】:HowtostoredataretrievedfromFirebaseinanArrayList<String>allatonce?【发布时间】:2017-06-0605:11:34【问题描述】:我在数据库中有一些相同引用下的数据,我正... 查看详情

如何在 PLSQL 中存储立即执行的结果?

】如何在PLSQL中存储立即执行的结果?【英文标题】:HowtostoretheresultofanexecuteimmediateinPLSQL?【发布时间】:2017-01-0305:32:41【问题描述】:我有一个表,其中包含存储为varchars的选择查询和插入查询。我必须使用过程执行选择查询并... 查看详情