Northwind的Employee Sales by Country存储过程,如果如下写
SqlCommand SqlCmd = new SqlCommand("Exec Employee Sales by Country N'1996',N'1998'", SqlConn);
是正确的
想把N'1996'当作参数传进去该怎么办.下面是我的程序,通不过去,请高手们指点一下.
SqlConn.Open();
SqlParameter SqlParaBeginDate = new SqlParameter("@Beginning_Date", SqlDbType.DateTime);
SqlParaBeginDate.Value = DateTime.Parse("N'1996'");
SqlParaBeginDate.Direction = ParameterDirection.Input; SqlParameter SqlParaEndDate = new SqlParameter("@Ending_Date", SqlDbType.DateTime);
SqlParaEndDate.Value = DateTime.Parse("N'1998'");
SqlParaEndDate.Direction = ParameterDirection.Input; SqlParameter SqlParaOutput = new SqlParameter("@return_value", SqlDbType.Int);
SqlParaOutput.Direction = ParameterDirection.ReturnValue;
SqlCommand SqlCmd = new SqlCommand("Employee Sales by CountrySql",Conn);
SqlCmd.Parameters.Add(SqlParaBeginDate);
SqlCmd.Parameters.Add(SqlParaEndDate);
SqlCmd.Parameters.Add(SqlParaOutput);
SqlCmd.CommandType = CommandType.StoredProcedure;
SqlCmd.CommandType = CommandType.Text;
SqlDataAdapter SqlAdapt = new SqlDataAdapter(SqlCmd);
DataSet Ds = new DataSet();
SqlAdapt.Fill(Ds);
this.GridView1.DataSource = Ds;
this.GridView1.DataBind();
SqlCommand SqlCmd = new SqlCommand("Exec Employee Sales by Country N'1996',N'1998'", SqlConn);
是正确的
想把N'1996'当作参数传进去该怎么办.下面是我的程序,通不过去,请高手们指点一下.
SqlConn.Open();
SqlParameter SqlParaBeginDate = new SqlParameter("@Beginning_Date", SqlDbType.DateTime);
SqlParaBeginDate.Value = DateTime.Parse("N'1996'");
SqlParaBeginDate.Direction = ParameterDirection.Input; SqlParameter SqlParaEndDate = new SqlParameter("@Ending_Date", SqlDbType.DateTime);
SqlParaEndDate.Value = DateTime.Parse("N'1998'");
SqlParaEndDate.Direction = ParameterDirection.Input; SqlParameter SqlParaOutput = new SqlParameter("@return_value", SqlDbType.Int);
SqlParaOutput.Direction = ParameterDirection.ReturnValue;
SqlCommand SqlCmd = new SqlCommand("Employee Sales by CountrySql",Conn);
SqlCmd.Parameters.Add(SqlParaBeginDate);
SqlCmd.Parameters.Add(SqlParaEndDate);
SqlCmd.Parameters.Add(SqlParaOutput);
SqlCmd.CommandType = CommandType.StoredProcedure;
SqlCmd.CommandType = CommandType.Text;
SqlDataAdapter SqlAdapt = new SqlDataAdapter(SqlCmd);
DataSet Ds = new DataSet();
SqlAdapt.Fill(Ds);
this.GridView1.DataSource = Ds;
this.GridView1.DataBind();
解决方案 »
- c#tcpip通讯断开
- 做的网页服务器或客户端浏览间歇性提示:Timeout expired
- 引用类型的引用传递问题
- C#类库中引用了别的Dll,在应用项目中使用C#类库时出现:无法找到入口点,如何解决?
- 穷人无分--问--如何将pictureBox1里面的图片变成黑白
- 急用!数据导入导出的问题
- 程序中出现多个delegate(代理),我如何知道他是代理什么函数的
- 菜鸟提问了
- 如何使DataGrid的各个列的宽度正好充满DataGrid的宽度?
- VS2008 程序报表升级到2013后出错?
- 请问:哪里有全面介绍C#所提供的操作命令的内容?
- 请问高手,我如下设计一程序,可否:在主线程中,我想另外建个新线程,并在这新线程中建一图表,程序运行时,起动新线程,在这个新线程中,根据主线程提供数据操作图表
SqlParaBeginDate.Value = DateTime.Parse("N'1996'");
SqlParaBeginDate.Direction = ParameterDirection.Input; SqlParameter SqlParaEndDate = new SqlParameter("@Ending_Date", SqlDbType.DateTime);
SqlParaEndDate.Value = DateTime.Parse("N'1998'");
SqlParaEndDate.Direction = ParameterDirection.Input;
你把参数类型换成Nvarchar类型试试!
DateTime.Parse(s.ToString( "yyyy" ) ;不带N就这样可以