
c# 存储过程调用错误 sqlserver
存储过程。CREATEproczhangtianxing@zhangtianxing1intoutputasselect@zhangtianxing1=i_idfromt...
存储过程。
CREATE proc zhangtianxing
@zhangtianxing1 int output
as
select @zhangtianxing1=i_id from test
GO
.cs文件
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Web_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strconnection = "Server=127.0.0.1;uid=sa;password=wxj;database=ztx;";
SqlConnection sqlconnection2 = new SqlConnection(strconnection);
sqlconnection2.Open();
SqlCommand sqlcommand2 = new SqlCommand();
sqlcommand2.Connection = sqlconnection2;
sqlcommand2.CommandText="zhangtianxing";
sqlcommand2.Parameters["zhangtianxing1"].ToString(); ;
abc.DataSource = sqlcommand2.ExecuteReader();
abc.DataBind();
sqlconnection2.Close();
}
}
错误提示:
Exception Details: System.IndexOutOfRangeException: An SqlParameter with ParameterName 'zhangtianxing1' is not contained by this SqlParameterCollection. 展开
CREATE proc zhangtianxing
@zhangtianxing1 int output
as
select @zhangtianxing1=i_id from test
GO
.cs文件
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Web_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string strconnection = "Server=127.0.0.1;uid=sa;password=wxj;database=ztx;";
SqlConnection sqlconnection2 = new SqlConnection(strconnection);
sqlconnection2.Open();
SqlCommand sqlcommand2 = new SqlCommand();
sqlcommand2.Connection = sqlconnection2;
sqlcommand2.CommandText="zhangtianxing";
sqlcommand2.Parameters["zhangtianxing1"].ToString(); ;
abc.DataSource = sqlcommand2.ExecuteReader();
abc.DataBind();
sqlconnection2.Close();
}
}
错误提示:
Exception Details: System.IndexOutOfRangeException: An SqlParameter with ParameterName 'zhangtianxing1' is not contained by this SqlParameterCollection. 展开
5个回答
展开全部
string name = ""//这是用户要输入的数据。
SqlConnection sqlconnection2 = new SqlConnection(strconnection);
sqlconnection2.Open();
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
sda.SelectCommand = new SqlCommand("zhangtianxing ", sqlconnection2 );//调用存储过程
sda.SelectCommand.CommandType = CommandType.StoredProcedure;//这一句表示SqlDataAdapter调用执行的是一个存储过程。如果没有这一句,该存储过程将不会被执行。
sda.SelectCommand.Parameters.Add("@zhangtianxing1", SqlDbType.VarChar, 50);//向存储过程传入一个参数。
sda.SelectCommand.Parameters["@zhangtianxing1"].Value = name;
sda.Fill(ds, "proname");//将数据填充至本地DataSet的proname表中。
conn.Close();
abc.DataSource = ds
abc.DataBind();
SqlConnection sqlconnection2 = new SqlConnection(strconnection);
sqlconnection2.Open();
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
sda.SelectCommand = new SqlCommand("zhangtianxing ", sqlconnection2 );//调用存储过程
sda.SelectCommand.CommandType = CommandType.StoredProcedure;//这一句表示SqlDataAdapter调用执行的是一个存储过程。如果没有这一句,该存储过程将不会被执行。
sda.SelectCommand.Parameters.Add("@zhangtianxing1", SqlDbType.VarChar, 50);//向存储过程传入一个参数。
sda.SelectCommand.Parameters["@zhangtianxing1"].Value = name;
sda.Fill(ds, "proname");//将数据填充至本地DataSet的proname表中。
conn.Close();
abc.DataSource = ds
abc.DataBind();
展开全部
存储过程这样写
CREATE proc zhangtianxing
as
select i_id as zhangtianxing1 from test
GO
调用过程如下:
sqlcommand2.Connection = sqlconnection2;
sqlcommand2.CommandText="zhangtianxing";
abc.DataSource = sqlcommand2.ExecuteReader();
如果按你的写法的话
需要给 zhangtianxing1 赋值
sqlcommand2.Parameters["zhangtianxing1"].value="任意值即可";//如果查询为空,则返回你所付的值
CREATE proc zhangtianxing
as
select i_id as zhangtianxing1 from test
GO
调用过程如下:
sqlcommand2.Connection = sqlconnection2;
sqlcommand2.CommandText="zhangtianxing";
abc.DataSource = sqlcommand2.ExecuteReader();
如果按你的写法的话
需要给 zhangtianxing1 赋值
sqlcommand2.Parameters["zhangtianxing1"].value="任意值即可";//如果查询为空,则返回你所付的值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前面少了一句代码
sqlcommand2.CommandType=CommandType.StoreProdure;
sqlcommand2.CommandType=CommandType.StoreProdure;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
呵呵,网上高手就是多,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询