public partial class _Default : System.Web.UI.Page
{
//插入数据后,存储过程返货的数据标识
public int shipID;
//获取的tbAmount的数值
public string pl;
protected void Page_Load(object sender, EventArgs e)
{
//初始化状态
if (this.IsPostBack)
{
this.pl0.Visible = true;
this.pl6.Visible = false;
shipID = 0;
pl = "0";
} }
protected void btnSubmit_Click(object sender, EventArgs e)
{
//改变panle显示
this.pl0.Visible = false;
this.pl6.Visible = true; //添加新船信息
//连接数据库
SqlConnection con = DB.CreateCon();
con.Open();
//这里调用了存储过程
SqlCommand cmd = new SqlCommand("Add_Ships", con);
cmd.CommandType = CommandType.StoredProcedure;
//设置参数类型
SqlParameter[] para =
{
new SqlParameter("@enterpriseID", SqlDbType.NVarChar,20),
new SqlParameter("@ship_name", SqlDbType.NVarChar,20),
new SqlParameter("@ship_age", SqlDbType.NVarChar,20),
new SqlParameter("@linkman", SqlDbType.NVarChar,20),
new SqlParameter("@cellphone", SqlDbType.NVarChar,20),
new SqlParameter("@ship_length", SqlDbType.NVarChar,20),
new SqlParameter("@ship_width", SqlDbType.NVarChar,20),
new SqlParameter("@ship_depth", SqlDbType.NVarChar,20),
new SqlParameter("@ship_weight",SqlDbType.NVarChar,20),
new SqlParameter("@total_tonnage",SqlDbType.NVarChar,20),
new SqlParameter("@net_tonnage",SqlDbType.NVarChar,20),
new SqlParameter("@speed", SqlDbType.NVarChar,20),
new SqlParameter("@hatch_cover", SqlDbType.NVarChar,20),
new SqlParameter("@P_loadtype", SqlDbType.NVarChar ,20),
new SqlParameter("@total", SqlDbType.NVarChar,20),
new SqlParameter("@forklift", SqlDbType.NVarChar,20),
new SqlParameter("@shipID",SqlDbType.Int)
}; //实例化参数,添加到命令参数集合里
foreach (SqlParameter p in para)
{
cmd.Parameters.Add(p);
} //获取页面各个textbox的数据
cmd.Parameters[0].Value = this.ddlEnterprise.SelectedValue.ToString();
cmd.Parameters[1].Value = this.tbShipName.Text.ToString();
cmd.Parameters[2].Value = this.tbAge.Text.ToString();
cmd.Parameters[3].Value = this.tbLiasion.Text.ToString();
cmd.Parameters[4].Value = this.tbPhone.Text.ToString();
cmd.Parameters[5].Value = this.tbLength.Text.ToString();
cmd.Parameters[6].Value = this.tbWidth.Text.ToString();
cmd.Parameters[7].Value = this.tbDepth.Text.ToString() ;
cmd.Parameters[8].Value = this.tbWeight.Text.ToString();
cmd.Parameters[9].Value = this.tbTot.Text.ToString();
cmd.Parameters[10].Value = this.tbNet.Text.ToString() ;
cmd.Parameters[11].Value = this.tbSpeed.Text.ToString() ;
cmd.Parameters[12].Value = this.ddlCover.SelectedValue.ToString();
cmd.Parameters[13].Value = this.tbP_Load.Text.ToString();
cmd.Parameters[14].Value = this.tbAmount.Text.ToString();
cmd.Parameters[15].Value = this.rdlForklift.SelectedValue.ToString();
cmd.Parameters[16].Direction = ParameterDirection.Output; //保留船舱数量
pl = this.tbAmount.Text.ToString();
//测是是否正常运行 try
{
cmd.ExecuteNonQuery();
}
catch (Exception)
{
Response.Redirect("test.htm");
}
//返回添加新船的自增标识
shipID = Convert.ToInt16(cmd.Parameters[16].Value);
this.lb1.Text ="添加船只信息成功:船只编号为"+ shipID.ToString(); //导出新添加的数据
DB db = new DB();
//在创建了一个返货DATASET的类,
DataSet ds = db.CreateDs(shipID);
this.repShipInfo.DataSource = ds.Tables["myTable"].DefaultView;
this.repShipInfo.DataBind(); //根据tbAmount判断显示什么输入表
switch (pl)
{
case "1": this.pl1.Visible = true; break;
case "2": this.pl2.Visible = true; break;
case "3": this.pl3.Visible = true; break;
case "4": this.pl4.Visible = true; break;
case "5": this.pl5.Visible = true; break;
}
后面还没写完
1.从textbox里获取数据,添加SQL成功后,可以设置一个数组,把数据保存在数组中,再后面再取出来吗?我看资料,这样做会损耗系统内存,但在内存允许的情况下,这样做会不会更加方便点?求高手指点。
2.还有就是后面的输入表switch(pl)那里,我的输出结果总是不对,tbAmount明明输入5,结果转化后输出的是第3个结果,
不知道是什么数据干扰了结果,找不出原因,求高人解答。
3,如果switch(pl)显示问题解决了,那输入问题怎么解决,是不是要写5个输入后台了,还是在自己的类中用一个方法重载,具体怎么做,希望给指条明路。
{
//插入数据后,存储过程返货的数据标识
public int shipID;
//获取的tbAmount的数值
public string pl;
protected void Page_Load(object sender, EventArgs e)
{
//初始化状态
if (this.IsPostBack)
{
this.pl0.Visible = true;
this.pl6.Visible = false;
shipID = 0;
pl = "0";
} }
protected void btnSubmit_Click(object sender, EventArgs e)
{
//改变panle显示
this.pl0.Visible = false;
this.pl6.Visible = true; //添加新船信息
//连接数据库
SqlConnection con = DB.CreateCon();
con.Open();
//这里调用了存储过程
SqlCommand cmd = new SqlCommand("Add_Ships", con);
cmd.CommandType = CommandType.StoredProcedure;
//设置参数类型
SqlParameter[] para =
{
new SqlParameter("@enterpriseID", SqlDbType.NVarChar,20),
new SqlParameter("@ship_name", SqlDbType.NVarChar,20),
new SqlParameter("@ship_age", SqlDbType.NVarChar,20),
new SqlParameter("@linkman", SqlDbType.NVarChar,20),
new SqlParameter("@cellphone", SqlDbType.NVarChar,20),
new SqlParameter("@ship_length", SqlDbType.NVarChar,20),
new SqlParameter("@ship_width", SqlDbType.NVarChar,20),
new SqlParameter("@ship_depth", SqlDbType.NVarChar,20),
new SqlParameter("@ship_weight",SqlDbType.NVarChar,20),
new SqlParameter("@total_tonnage",SqlDbType.NVarChar,20),
new SqlParameter("@net_tonnage",SqlDbType.NVarChar,20),
new SqlParameter("@speed", SqlDbType.NVarChar,20),
new SqlParameter("@hatch_cover", SqlDbType.NVarChar,20),
new SqlParameter("@P_loadtype", SqlDbType.NVarChar ,20),
new SqlParameter("@total", SqlDbType.NVarChar,20),
new SqlParameter("@forklift", SqlDbType.NVarChar,20),
new SqlParameter("@shipID",SqlDbType.Int)
}; //实例化参数,添加到命令参数集合里
foreach (SqlParameter p in para)
{
cmd.Parameters.Add(p);
} //获取页面各个textbox的数据
cmd.Parameters[0].Value = this.ddlEnterprise.SelectedValue.ToString();
cmd.Parameters[1].Value = this.tbShipName.Text.ToString();
cmd.Parameters[2].Value = this.tbAge.Text.ToString();
cmd.Parameters[3].Value = this.tbLiasion.Text.ToString();
cmd.Parameters[4].Value = this.tbPhone.Text.ToString();
cmd.Parameters[5].Value = this.tbLength.Text.ToString();
cmd.Parameters[6].Value = this.tbWidth.Text.ToString();
cmd.Parameters[7].Value = this.tbDepth.Text.ToString() ;
cmd.Parameters[8].Value = this.tbWeight.Text.ToString();
cmd.Parameters[9].Value = this.tbTot.Text.ToString();
cmd.Parameters[10].Value = this.tbNet.Text.ToString() ;
cmd.Parameters[11].Value = this.tbSpeed.Text.ToString() ;
cmd.Parameters[12].Value = this.ddlCover.SelectedValue.ToString();
cmd.Parameters[13].Value = this.tbP_Load.Text.ToString();
cmd.Parameters[14].Value = this.tbAmount.Text.ToString();
cmd.Parameters[15].Value = this.rdlForklift.SelectedValue.ToString();
cmd.Parameters[16].Direction = ParameterDirection.Output; //保留船舱数量
pl = this.tbAmount.Text.ToString();
//测是是否正常运行 try
{
cmd.ExecuteNonQuery();
}
catch (Exception)
{
Response.Redirect("test.htm");
}
//返回添加新船的自增标识
shipID = Convert.ToInt16(cmd.Parameters[16].Value);
this.lb1.Text ="添加船只信息成功:船只编号为"+ shipID.ToString(); //导出新添加的数据
DB db = new DB();
//在创建了一个返货DATASET的类,
DataSet ds = db.CreateDs(shipID);
this.repShipInfo.DataSource = ds.Tables["myTable"].DefaultView;
this.repShipInfo.DataBind(); //根据tbAmount判断显示什么输入表
switch (pl)
{
case "1": this.pl1.Visible = true; break;
case "2": this.pl2.Visible = true; break;
case "3": this.pl3.Visible = true; break;
case "4": this.pl4.Visible = true; break;
case "5": this.pl5.Visible = true; break;
}
后面还没写完
1.从textbox里获取数据,添加SQL成功后,可以设置一个数组,把数据保存在数组中,再后面再取出来吗?我看资料,这样做会损耗系统内存,但在内存允许的情况下,这样做会不会更加方便点?求高手指点。
2.还有就是后面的输入表switch(pl)那里,我的输出结果总是不对,tbAmount明明输入5,结果转化后输出的是第3个结果,
不知道是什么数据干扰了结果,找不出原因,求高人解答。
3,如果switch(pl)显示问题解决了,那输入问题怎么解决,是不是要写5个输入后台了,还是在自己的类中用一个方法重载,具体怎么做,希望给指条明路。
解决方案 »
- asp.net中gridview中有邮箱字段,复选框,要达到多选发送
- asp.net 在后台怎么设置cssclass
- 公司网站出的怪现象,求达人帮忙!
- 200分,求解.唯一编号自己手工设置的问题。
- 如何做一个DataGrid,要求有翻页/跳页功能。
- 问一个问题.关于datalist(vs2005)的问题..
- 有没有办法可以模拟登录到域,3x
- datasetcommand说的是不是dataadapter
- 两个窗口a.aspx和b.aspx,传值的问题????
- 高分求救!为什么我的页面不能正确浏览?
- 关于Platform返回浏览器平台的问题
- 帮我看看这是什么错误-----类型“ASP.usercontrol_sisttop_ascx”同时存在于.......
肯定是你赋值取值的时候弄错了撒
通过viewstate保存
一楼的大大,是不是把textbox数据提交后,内存就自动释放了,所以,我在单独存放代码的CS中,即使设置了全局变量也无法得到pl的数据?可是我的shipID也是全局变量,因为它是过程的输出变量,所以在提交事件后,可以把返回的数据保存到全局变量中??
switch (pl)
{
case "1 ": this.pl1.Visible = true; break;
case "2 ": this.pl2.Visible = true; break;
case "3 ": this.pl3.Visible = true; break;
case "4 ": this.pl4.Visible = true; break;
case "5 ": this.pl5.Visible = true; break;
}
这里我根据在TextBox里输入的值,在提交事件里传给pl全局变量,然后通过这个值来判断符合那个状况,但是显示的结果和我输入的值不一样。
同样是上面5中状况,我是不是要写5个事件引发的数据添加代码?