private void lbtnSave_Click(object sender, System.EventArgs e)
{
if(SchID==0)
{
FDate=tbFDate.Text;
tbFDate.Text=Date.ToString("yyyy-MM-dd"); TDate=tbTDate.Text;
tbTDate.Text=Date.ToString("yyyy-MM-dd"); if(cbRemind.Checked==true)
{
RemindDay=tbRemind.Text;
} if(cbRepeat.Checked==true)
{
Repeat=ddlRepeat.SelectedIndex;
if(tbEDate.Text!="")
{
EDate=tbEDate.Text;
tbEDate.Text=Date.ToString("yyyy-MM-dd");
}
} ScheduleDB Sch=new ScheduleDB();
Sch.SchInsert(Convert.ToInt16(this.Empid),tbSubject.Text.ToString(),tbType.Text.ToString(),tbPlace.Text.ToString(),
tbContent.Text.ToString(),Convert.ToBoolean(cbPrivte.Checked),Convert.ToBoolean(cbRepeat.Checked),Repeat.ToString(),
DateTime.Parse(EDate.ToString()),Convert.ToBoolean(cbRemind.Checked),Int32.Parse(RemindDay),
DateTime.Parse(FDate+""+ddlFTime.SelectedItem.Text.ToString()),
DateTime.Parse(TDate+""+ddlTTime.SelectedItem.Text.ToString()));
}
}
public void SchInsert(int EmpID,string Subject,string SchType,string Place,string Content,bool PrivFlag,bool RepeatFlag,
string RequenCate,DateTime UpToDate,bool RemindFlag,int RemindDay,DateTime FDate,DateTime TDate)
{
SqlConnection myConn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings.Get("ConnectionString"));
SqlCommand myComm=new SqlCommand("ScheduleAdd",myConn);
myComm.CommandType=CommandType.StoredProcedure; SqlParameter paraID=new SqlParameter("@EmpID",SqlDbType.Int,4);
paraID.Value=EmpID;
myComm.Parameters.Add(paraID); SqlParameter paraSubject=new SqlParameter("@Subject",SqlDbType.VarChar,150);
paraSubject.Value=Subject;
myComm.Parameters.Add(paraSubject); SqlParameter paraType=new SqlParameter("@SchType",SqlDbType.VarChar,50);
paraType.Value=SchType;
myComm.Parameters.Add(paraType); SqlParameter paraPlace=new SqlParameter("@Place",SqlDbType.VarChar,50);
paraPlace.Value=Place;
myComm.Parameters.Add(paraPlace); SqlParameter paraContent=new SqlParameter("@Content",SqlDbType.Text,16);
paraContent.Value=Content;
myComm.Parameters.Add(paraContent); SqlParameter paraPrivFlag=new SqlParameter("@PrivFlag",SqlDbType.Bit,1);
paraPrivFlag.Value=PrivFlag;
myComm.Parameters.Add(paraPrivFlag); SqlParameter paraRequenCate=new SqlParameter("@RequenCate",SqlDbType.VarChar,20);
paraRequenCate.Value=RequenCate;
myComm.Parameters.Add(paraRequenCate); SqlParameter paraUpToDate=new SqlParameter("@UpToDate",SqlDbType.DateTime,8);
paraUpToDate.Value=UpToDate;
myComm.Parameters.Add(paraUpToDate); SqlParameter paraRemindFlag=new SqlParameter("@RemindFlag",SqlDbType.Bit,1);
paraRemindFlag.Value=RemindFlag;
myComm.Parameters.Add(paraRemindFlag); SqlParameter paraRemindDay=new SqlParameter("@RemindDay",SqlDbType.Int,4);
paraRemindDay.Value=RemindDay;
myComm.Parameters.Add(paraRemindDay); SqlParameter paraFDate=new SqlParameter("@FDate",SqlDbType.DateTime,8);
paraFDate.Value=FDate;
myComm.Parameters.Add(paraFDate); SqlParameter paraTDate=new SqlParameter("@TDate",SqlDbType.DateTime,8);
paraTDate.Value=TDate;
myComm.Parameters.Add(paraTDate); myConn.Open();
myComm.ExecuteNonQuery();
myConn.Close();

}EDate,FDate,TDate在數據庫裏SQL時DateTime格式。提示"字串未被辨認為有效的 DateTime",請高手解決一下!!可否詳細指出一下錯誤!

解决方案 »

  1.   

    输入的日期格式不符合要求,不能转换为DateTime,检查输入吧
      

  2.   

    请检查tbFDate.Text,和tbTDate.Text获取的值格式是否正确
      

  3.   

    這個我知道的啦,我輸入的yyyy-mm-dd的格式,請大家再 幫幫忙啊,
      

  4.   

    SqlParameter paraTDate=new SqlParameter("@TDate",SqlDbType.DateTime,8);  应该把你设置的长度为8删除
    这样就可以了
    SqlParameter paraTDate=new SqlParameter("@TDate",SqlDbType.DateTime); 
    paraTDate.Value=TDate;
    myComm.Parameters.Add(paraTDate); myConn.Open();
    myComm.ExecuteNonQuery();
    myConn.Close();