我的SQL语句是这样的
ALTER PROCEDURE [dbo].[Op_KongKeShi_SheDing_JiBenSheDing](@type1 int=0,@ShenHeTimeStart char(10)='',@ShenHeTimeEnd char(10)='',@ShenQingTianShuStart int=0 , @ShenQingTianShuEnd int=0, @KaiXueRiQiStart datetime)
if @type1 =12/*修改数据到KeShiShenQing_CanShu*/
begin
declare @dcCount int=0
select distinct @dcCount =COUNT (*) from KeShiShenQing_CanShu where KaiXueRiQiStart =@KaiXueRiQiStart  
if @dcCount =0
update KeShiShenQing_CanShu set ShenHeTimeEnd =@ShenHeTimeEnd ,ShenHeTimeStart =@ShenHeTimeStart ,ShenQingTianShuEnd =@ShenQingTianShuEnd ,
ShenQingTianShuStart=@ShenQingTianShuStart ,KaiXueRiQiStart =@KaiXueRiQiStart  
end我的BLl层是 public static void BLL_Uptadae_JiBenSheDing(int ShenQingTianShuStart, int ShenQingTianShuEnd, string ShenHeTimeStart, string ShenHeTimeEnd, string  (请问这里应该是什么) KaiXueRiQiStart)
  {  SqlParameter[] SQlCMDpas ={
  new SqlParameter("@type1",SqlDbType.Int),   
  new SqlParameter("@ShenQingTianShuStart",SqlDbType.Int),   
  new SqlParameter("@ShenQingTianShuEnd",SqlDbType.Int ),
  new SqlParameter("@ShenHeTimeStart",SqlDbType.Char ),
  new SqlParameter ("@ShenHeTimeEnd",SqlDbType .Char ),
  new SqlParameter ("@KaiXueRiQiStart",SqlDbType.DateTime),  };
  SQlCMDpas[0].Value = 12;
  SQlCMDpas[1].Value = ShenQingTianShuStart;
  SQlCMDpas[2].Value = ShenQingTianShuEnd;
  SQlCMDpas[3].Value = ShenHeTimeStart;
  SQlCMDpas[4].Value = ShenHeTimeEnd;
  SQlCMDpas[5].Value = KaiXueRiQiStart;  DAL.PublicMethod myPublicMethiod = new DAL.PublicMethod();
  myPublicMethiod.DAL_OPTableDB_Par("Op_KongKeShi_SheDing_JiBenSheDing", SQlCMDpas);  }

解决方案 »

  1.   

    所有数据库中是datetime的字段在C#中全部采用DateTime数据类型。
      

  2.   


     SQlCMDpas[5].Value =Convert.ToDateTime(KaiXueRiQiStart);
      

  3.   

     public static void BLL_Uptadae_JiBenSheDing(int ShenQingTianShuStart, int ShenQingTianShuEnd, string ShenHeTimeStart, string ShenHeTimeEnd, string  (请问这里应该是什么) KaiXueRiQiStart)
      {  SqlParameter[] SQlCMDpas ={
      new SqlParameter("@type1",SqlDbType.Int),  
      new SqlParameter("@ShenQingTianShuStart",SqlDbType.Int),  
      new SqlParameter("@ShenQingTianShuEnd",SqlDbType.Int ),
      new SqlParameter("@ShenHeTimeStart",SqlDbType.Char ),
      new SqlParameter ("@ShenHeTimeEnd",SqlDbType .Char ),
      new SqlParameter ("@KaiXueRiQiStart",SqlDbType.DateTime),string  (请问这里应该是什么) KaiXueRiQiStart这个可以是字符串,但是你在调用存储过程之前,需要将传入的参数转换的存储过程定义的参数:
    @KaiXueRiQiStart datetime