protected void Button1_Click(object sender, EventArgs e)
    {
        string id = ((Button)sender).ID;//获取但前按钮的id
        string conn = "Data Source=localhost;Initial Catalog=Data;Persist Security Info=true;User ID=sa;Password=123;";
        string selectstr = "SELECT*FROM VoteCount";
        SqlConnection sql = new SqlConnection(conn);
        SqlDataAdapter sda = new SqlDataAdapter();
        SqlCommand com = new SqlCommand(selectstr, sql);
        sda.SelectCommand = com;
       
        SqlCommandBuilder objcmdBuilder = new SqlCommandBuilder(sda);//
        sda.UpdateCommand = objcmdBuilder.GetUpdateCommand();
        sda.InsertCommand = objcmdBuilder.GetInsertCommand();
        sda.DeleteCommand = objcmdBuilder.GetDeleteCommand(); 
        DataSet ds = new DataSet();
        sql.Open();//打开数据库链接
        sda.Fill(ds,"VoteCount");        DataTable dt = ds.Tables["VoteCount"];
       
        foreach(DataRow temp in dt.Rows)
        {
         
            if (temp["ButtonLink"].ToString() ==id) Response.Write("get it");
        }
}好像不能截图,麻烦:Data表中VoteCount表是这样的
       ID  Count  ButtonLink (type:int int char(10))
       1    0      Button1
老是if里面判断bool为false,输不出get it(怎么回事啊,好郁闷啊,好像有一次正确输出了,可以后怎么也输不出了,无论我吧那ButtonLink类型换成text还是varchar,都不行啊,怎么回事啊,啊啊啊啊啊!!!)        

解决方案 »

  1.   

     string id = ((Button)sender).ID;//获取但前按钮的id 
    这个id是多少?
    temp["ButtonLink"].ToString() 这个又是多少?
    你断点调试下.是否有空格现象?
    加上Trim();
      

  2.   


    if (temp["ButtonLink"].ToString().Trim() ==id) Response.Write("get it"); 
    断点下,看temp["ButtonLink"].ToString().Trim() 和id值为多少
      

  3.   

    为false当然不输出get it了。
    为true的时候才输出的
      

  4.   

    Trim, ToUpper 都加上再看看!
      

  5.   

    有空格项。TRIM()基本就解决了。你加个断点,F5调试下。看看各项的值。
      

  6.   

    if (temp["ButtonLink"].ToString().Trim() ==id) Response.Write("get it");