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();
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就这样可以