我有一个公司可以注册的表单,在此注册中随机生成用户代码... CompCode与数据库表中的所有其他信息一起保存为主键...
当用户注册时,他们可以登录...当他们成功登录时,他们的compName被保存为会话变量
Session["CompName"] = TextBox1.Text;
现在一旦登录,他们就有机会发布一份工作,这份工作细节保存在另一个名为job的表中......但是为了让工作细节与公司相关,我需要CompID
如何使用会话CompName
检索CompID protected void Save_Click(object sender, EventArgs e)
{
string answer = "NO";
string strcon = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\VC_temps.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection con = new SqlConnection(strcon);
SqlCommand com = new SqlCommand("Store-Jobs", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("Job", TextBox1.Text);
com.Parameters.AddWithValue("JobType", DropDownList1.Text);
com.Parameters.AddWithValue("StartDate", Calendar1.SelectedDate);
com.Parameters.AddWithValue("Time", TextBox2.Text);
com.Parameters.AddWithValue("JobID", TextBox1.Text.Substring(3).ToUpper());
com.Parameters.AddWithValue("CompanyID", ?);
com.Parameters.AddWithValue("PoistionFilled", answer);
com.Parameters.AddWithValue("Description", TextBox4.Text);
con.Open();
com.ExecuteNonQuery();
Labelinfo.Text = "Post successful.";
}
答案 0 :(得分:1)
如果你的意思是你希望得到会话的价值,那你就这样做了
if(Compname == (string)Session["CompName"])
答案 1 :(得分:1)
在存储过程本身处理它,传递存储在会话中的conmpany名称,如@sleiman jneidi所述。
在存储过程中,首先检索compName = @compName的所有compCode,然后执行其余操作。
答案 2 :(得分:0)
首先我创建了一个数据源,如下所示:
<asp:SqlDataSource ID="SqlDataSource_CompID" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [CompanyID] FROM [Company] WHERE ([CompName] = @CompName)">
<SelectParameters>
<asp:SessionParameter Name="CompName" SessionField="CompName" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
然后我在代码中添加了以下代码
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.getName();
}
}
private void getName()
{
DataView dv = (DataView)SqlDataSource_CompID.Select(DataSourceSelectArguments.Empty);
DataRowView drv = dv[0];
Session["CompID"] = drv["CompanyID"].ToString();
}
这很有效,它给了我正在寻找的东西,如果有更好的原因,请随意和评论