C# 门店ID';数据库中有什么
我这里有一个小问题,我有以下主表 M_员工C# 门店ID';数据库中有什么,c#,sql,C#,Sql,我这里有一个小问题,我有以下主表 M_员工 EMPID Name 1 abc 2 xyz M_分部 DIVID EMPID DIVISON 1 2 arts 2 1 science M_名称 DESGID EMPID Designation 1 2 Teacher 2 1 Scientist 根据主表中的ID,我检索表单标签上的几个字段……我想做的是,
EMPID Name
1 abc
2 xyz
M_分部
DIVID EMPID DIVISON
1 2 arts
2 1 science
M_名称
DESGID EMPID Designation
1 2 Teacher
2 1 Scientist
根据主表中的ID,我检索表单标签上的几个字段……我想做的是,当我将表单的这些值存储在新表中时,我只希望存储ID,而不希望存储表单标签中显示的文本值。下面是我尝试的代码。有人能帮我吗
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;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
namespace Travel1.Forms
{
public partial class temporaryduty : System.Web.UI.Page
{
SqlConnection conn = new SqlConnection("Server; Database; Integrated security = true");
protected void Page_Load(object sender, EventArgs e)
{
Lbltoday.Text = DateTime.Now.ToString();
if (!IsPostBack)
{
GetName();//adding the group to the dropdownbox
}
}
private void GetName()
{
SqlCommand cmd = new SqlCommand("Select EMPID,Name FROM M_employee where IsActive=1 ORDER BY Name", conn);
DataSet objDs = new DataSet();
SqlDataAdapter sd = new SqlDataAdapter(cmd);
conn.Open();
sd.Fill(objDs);
conn.Close();
if (objDs.Tables[0].Rows.Count > 0)
{
ddlname.DataSource = objDs.Tables[0];
ddlname.DataTextField = "Name";
ddlname.DataValueField = "EMPID";
ddlname.DataBind();
ddlname.Items.Insert(0, "--Select--");
}
}
protected void ddlname_SelectedIndexChanged(object sender, EventArgs e)
{
GetDivision(ddlname.SelectedItem.Value);
}
private void GetDivision(string Name)
{
SqlCommand cmd = new SqlCommand("SELECT M_employee.Name, M_Division.DIVISION, M_Division.DIVID AS Expr1, M_Designation.DesigID AS Expr2, M_Designation.Designation FROM M_employee INNER JOIN M_Division ON M_employee.DIVID = M_Division.DIVID INNER JOIN M_Designation ON M_employee.DesigID = M_Designation.DesigID WHERE M_employee.EMPID=@EMPID ", conn);
cmd.Parameters.AddWithValue("@EMPID", Name);
DataSet objDs = new DataSet();
SqlDataAdapter sd = new SqlDataAdapter(cmd);
conn.Open();
sd.Fill(objDs);
conn.Close();
if (objDs.Tables[0].Rows.Count > 0)
{
lbldiv.Text = objDs.Tables[0].Rows[0]["DIVISION"].ToString();
lbldesig.Text = objDs.Tables[0].Rows[0]["Designation"].ToString();
}
}
protected void btnSubmit_Click2(object sender, EventArgs e)
{
string RelaseDate = Calendar1.SelectedDate.Date.ToString();
SqlCommand cmd = new SqlCommand("Insert into T_TADA_tempform(EMPID,DIVID,DesigID) values(@EMPID,@DIVID,@DesigID)", conn);
cmd.Parameters.AddWithValue("@EMPID", ddlname.SelectedValue);
cmd.Parameters.AddWithValue("@DIVID", lbldesig.Text);
cmd.Parameters.AddWithValue("@DesigID", lbldiv.Text);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
int cnt = cmd.ExecuteNonQuery();
conn.Close();
if (cnt == 1)
{
Response.Redirect("form.aspx");
}
else
Response.Write("Form has not been submitted,Please Try again!");
}
}
}
}
当您阅读您的部门和名称时,请将ID存储在某个地方,例如在此类的私人文件中:
public partial class temporaryduty : System.Web.UI.Page
{
private int divisionId;
private int designationId;
然后,在按钮上单击“使用这些字段插入ID”:
cmd.Parameters.AddWithValue("@DIVID", divisionId);
cmd.Parameters.AddWithValue("@DesigID", designationId);
当您阅读您的部门和名称时,请将ID存储在某个地方,例如在此类的私人文件中:
public partial class temporaryduty : System.Web.UI.Page
{
private int divisionId;
private int designationId;
然后,在按钮上单击“使用这些字段插入ID”:
cmd.Parameters.AddWithValue("@DIVID", divisionId);
cmd.Parameters.AddWithValue("@DesigID", designationId);
根据要求,下面是为
IDisposable
资源使用use
的惯用方法。注意,除了这个,我没有对代码的逻辑做任何其他事情,所以请注意其他答案:)
根据要求,下面是为
IDisposable
资源使用use
的惯用方法。注意,除了这个,我没有对代码的逻辑做任何其他事情,所以请注意其他答案:)
顺便说一句,你这里有很多
IDisposable
资源,最好用语句包装,以便进行正确的确定性处理。你能告诉我更多关于这方面的信息吗?我会将其作为答案发布。与你的问题无关,但是,m_部门和m_指定表中的employee_id字段的用途是什么?除此之外,您这里有许多IDisposable
资源,最好使用语句将其包装在中,以便进行适当的确定性处理。您能告诉我更多信息吗?我会将其作为答案发布。与您的问题无关,但是m_部门和m_指定表中的employee_id字段的用途是什么?哦,好吧……我会试试josh……然后让你知道:)听起来不错。如果它解决了您的问题,请随意将其标记为答案。divisionId=objDs.Tables[0]。行[0][“Expr1”];它给出了一个错误,表示无法将对象转换为字符串…我不确定为什么它会说如果将divisionId设置为int,则应将对象转换为字符串。您可以尝试类似divisionId=convert.ToInt32(objDs.Tables[0].Rows[0][“Expr1”])。或者,如果您将divisionId改为字符串,则可以像对其他datatable读取一样使用ToString()。好的,我尝试了类似objDS.Tables[0]的方法。行[0][“Expr1”]我想我可以从这里开始:)哦,好吧……我会试试的,乔希……让你知道:)听起来不错。如果它解决了您的问题,请随意将其标记为答案。divisionId=objDs.Tables[0]。行[0][“Expr1”];它给出了一个错误,表示无法将对象转换为字符串…我不确定为什么它会说如果将divisionId设置为int,则应将对象转换为字符串。您可以尝试类似divisionId=convert.ToInt32(objDs.Tables[0].Rows[0][“Expr1”])。或者,如果您将divisionId改为字符串,您可以像在其他datatable读取中一样使用ToString()。好的,我尝试了类似objDS.Tables[0].Rows[0][“Expr1”]=divisionId的方法,它可以工作…但我也会尝试您的方法…非常感谢您的帮助…我想我可以从这里开始:)