我建了一个存储过程:
create procedure pro
@ID int,@voteItem varchar(20) output
as
set nocount on
declare @voteNum int
select @voteItem=voteItem,@voteItem=voteItem
from voteDetails
where voteId=@ID
return @voteNum但是在用ASP.NET调用的时候出现错误(在SQLSERVER中能顺利执行)
System.ArgumentException: 不存在从对象类型 System.RuntimeType 到已知的托管提供程序本机类型的映射。
create procedure pro
@ID int,@voteItem varchar(20) output
as
set nocount on
declare @voteNum int
select @voteItem=voteItem,@voteItem=voteItem
from voteDetails
where voteId=@ID
return @voteNum但是在用ASP.NET调用的时候出现错误(在SQLSERVER中能顺利执行)
System.ArgumentException: 不存在从对象类型 System.RuntimeType 到已知的托管提供程序本机类型的映射。
解决方案 »
- 求一个图片格式的正则表达式!谢谢帮忙!!
- GDI+ 中发生一般性错误。
- 为什么FormView1说上下文不存在该名称呢?怎么解决
- 关于APP_Code中使用全局静态变量和类,在其他页面调用,是否有影响?
- 100分求关于dataSet合并的问题
- 新人问一个关于FORMS验证问题!
- 【百分急问】基本问题:C#里面virtual 和 overrider的区别,在线等
- 高分求教 html 在线编辑器问题...
- 未能加载类型“MainManage_DailyMaintenance”
- 求救!
- 将字符串转换为 uniqueidentifier 时出现语法错误问题
- datagrid控件点编辑之后再点删除时绑定在删除按钮上的onclick事件中的confirm对话框就不弹出是怎么回事
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.Common;
using System.Runtime;
using System.Configuration;
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;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string strconn = "Data Source=.;Initial Catalog=vote;User ID=sa;Password=sa";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = strconn;
string sqltext = "pro";
SqlCommand sqlcmd = new SqlCommand(sqltext, conn);
sqlcmd.CommandType = CommandType.StoredProcedure;
SqlParameter voteItem = new SqlParameter("@voteItem", SqlDbType.VarChar, 20);
voteItem.Direction = ParameterDirection.Output;
sqlcmd.Parameters.Add("@ID", typeof(int));
sqlcmd.Parameters.Add(voteItem);
//sqlcmd.Parameters.Add("@voteNum",typeof(int));
sqlcmd.Parameters["@ID"].Value = this.TextBox1.Text;
// sqlcmd.Parameters["@voteNum"].Direction = ParameterDirection.ReturnValue;
conn.Open();
sqlcmd.ExecuteScalar();
Label1.Text = sqlcmd.Parameters["@voteItem"].Value.ToString();
// Label2.Text = sqlcmd.Parameters["@voteNum"].Value.ToString();
conn.Close(); }
}
如果把有关返回参数的三条语句删除就可以顺利执行,
//sqlcmd.Parameters.Add("@voteNum",typeof(int));// sqlcmd.Parameters["@voteNum"].Direction = ParameterDirection.ReturnValue;// Label2.Text = sqlcmd.Parameters["@voteNum"].Value.ToString();
你是对的,,谢谢了,,为什么会这样呢,SqlDbType.Int 和typeof(int)有什么区别啊,我时照书上做的啊,书害人。