为什么valuechanged事件没有触发?

excallibur 2013-06-18 01:16:43
代码如下
private void 转到日期GToolStripMenuItem_Click(object sender, EventArgs e)
{
dtp转到日期.Visible = true;

}

private void dtp转到日期_ValueChanged(object sender, EventArgs e)
{
dtp日期.Value = dtp转到日期.Value;
dtp转到日期.Visible = false;
}
private void dtp日期_ValueChanged(object sender, EventArgs e)
{

dairyLoad();

}
public void dairyLoad()
{
DateTime dtp= dtp日期.Value;
string rtb = rtb内容.Text, tb = tb标题.Text;
SqlCommand thisCommand = Pub.CC.Conn.CreateCommand();
thisCommand.Parameters.Add("@a1", dtp);
thisCommand.CommandText = "select dairytent from dairy1 where dairytime=@a1";

object countResult = thisCommand.ExecuteScalar();
if (countResult != null)
{
countResult = thisCommand.ExecuteScalar();
string neirong = countResult.ToString();
rtb内容.Text = neirong;
thisCommand.Parameters.Add("@a2", dtp);
thisCommand.CommandText = "select dairyname from dairy1 where dairytime=@a2";
object countResult2 = thisCommand.ExecuteScalar();
string biaoti = countResult2.ToString();
tb标题.Text = biaoti;
}
else if(countResult==null)
{
rtb = "";
tb = "";
SqlParameter[] pas = new SqlParameter[] {new SqlParameter("@b1", rtb), new SqlParameter("@b2", tb), new SqlParameter("@b3", dtp) };

Pub.CC.ExecuteSql("insert into dairy1 (dairytent,dairyname,dairytime) values (@b1,@b2,@b3)",pas);
rtb内容.Text = "";
tb标题.Text="";
}
}
调试的时候一旦执行 dtp转到日期_ValueChanged 而改变dtp日期的值后, if (countResult != null) 里面的代码就不执行了,数据库中的值就掉不出来,而直接手动改变dtp日期的值则不受影响。注:数据库里绝对有值!
...全文
461 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
excallibur 2013-06-19
  • 打赏
  • 举报
回复
人工置顶继续求助啊
excallibur 2013-06-19
  • 打赏
  • 举报
回复
引用 1 楼 tsgx_1989 的回复:
你这命名方式 比较显眼.
两次的区别就是 object countResult = thisCommand.ExecuteScalar();这句话一个能赋值进去,一个赋值不进去!
bdmh 2013-06-18
  • 打赏
  • 举报
回复
那你看看 CommandText 是啥,为啥选出的结果不是null呢,肯定是两次有区别的
Ahoo 2013-06-18
  • 打赏
  • 举报
回复
你这命名方式 比较显眼.

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧