Asp.Net使用存储过程插入值 [英] Asp.Net Inserted value using stored procedure
本文介绍了Asp.Net使用存储过程插入值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
DataBase:
DataBase:
ALTER procedure [dbo].[sp_emp_dept_exam]
(
@empno int=0,
@ename nvarchar(50)=null,
@sal nvarchar(50)=null,
@deptno int=0,
@dname nvarchar(50)=null,
@opr int=0
)
as
begin
if @opr=1
begin
Insert into emp_exam(ename,sal,deptno)values(@ename,@sal,@deptno)
end
else if @opr=2
begin
SELECT dname,deptno FROM dept_exam
end
else if @opr=3
begin
select ename,dname,sal from emp_exam e inner join dept_exam d on e.deptno=d.deptno
end
end
//代码背后:
//Code Behind:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
namespace DemoExample
{
public partial class test_exam : System.Web.UI.Page
{
SqlCommand cmd;
SqlDataReader dr;
SqlDataAdapter da;
DataSet ds=new DataSet();
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["connstring2"].ToString());
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
cmd = new SqlCommand("sp_emp_dept_exam", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@opr", SqlDbType.Int).Value = 2;
//con.Open();
da = new SqlDataAdapter(cmd);
da.Fill(ds);
ddldname.DataTextField = "dname";
ddldname.DataValueField = "deptno";
ddldname.DataSource = ds;
ddldname.DataBind();
// con.Close();
}
}
protected void btnsave_Click(object sender, EventArgs e)
{
//cmd = new SqlCommand("Insert into emp_exam(ename,sal)values(@ename,@sal)", con);
//cmd.Parameters.Add("@ename", txtename.Text);
//cmd.Parameters.Add("@sal", txtsal.Text);
//cmd.Parameters.Add("@deptno", ddldname.SelectedValue);
cmd = new SqlCommand("sp_emp_dept_exam", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("ename", SqlDbType.NVarChar, 50).Value= txtename.Text;
cmd.Parameters.Add("@sal", SqlDbType.NVarChar, 50).Value = txtsal.Text;
cmd.Parameters.Add("@deptno", SqlDbType.Int).Value = ddldname.SelectedValue;
cmd.Parameters.Add("@opr", SqlDbType.Int).Value = 1;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
lblmsg.Text = "Record Successfully Inserted";
txtename.Text = txtsal.Text = "";
cmd.Parameters.Clear();
cmd.Parameters.Clear();
cmd.Parameters.Add("@opr", SqlDbType.Int).Value = 3;
con.Open();
//dr=cmd.ExecuteReader();
//gvexam.DataSource = dr;
da = new SqlDataAdapter(cmd);
da.Fill(ds);
gvexam.DataSource = ds;
gvexam.DataBind();
con.Close();
}
}
}
推荐答案
您好,
如果你在插入数据时遇到错误,那么这一行可能会低于错误。
cmd.Parameters.Add(ename,SqlDbType.NVarChar,50).Value = txtename.Text;
'@'在ename pamperer中缺失。应该是@ename not ename。
谢谢
Hello,
If you getting Error in insertion of data then might be below error in this line.
cmd.Parameters.Add("ename", SqlDbType.NVarChar, 50).Value= txtename.Text;
'@' is missing in ename pamperer.there should be @ename not ename.
thanks
这篇关于Asp.Net使用存储过程插入值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文