string sqlText = "(";
        for (int i = 0; i < GridView1.Rows.Count; i++)
        {
            CheckBox cbx = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
            if (cbx.Checked == true)
            {
                sqlText = sqlText + Convert.To3Int32(GridView1.DataKeys[i].Value) + ",";
                             
            }
        }
        sqlText = sqlText.Substring(0, sqlText.Length - 1) +")";
        sqlText ="Delete From abc where A_ID in( '" + sqlText+"')";        try
        {
            //执行删除语句
            SqlConnection conn = dd.createconnection();
            conn.Open();
            SqlCommand cmd = new SqlCommand(sqlText, conn);
            int delCount = Convert.ToInt32(cmd.ExecuteNonQuery());
            Response.Write("<script>alert('共删除" + delCount + "条数据');</script>");
            databind();
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }执行时出错:将数据类型 varchar 转换为 bigint 时出错。请教.

解决方案 »

  1.   

    sqlText ="Delete From abc where A_ID in( " + sqlText+")"; 
    去掉“'”
      

  2.   

    sqlText = sqlText + Convert.To3Int32(GridView1.DataKeys[i].Value) + ","; 
    这句出错了!
    sqlText = sqlText + Convert.ToString(GridView1.DataKeys[i].Value) + ","; 
    才对吧
      

  3.   

    sqlText = sqlText + GridView1.DataKeys[i].Value.ToString() + ","; 
      

  4.   

           string sqlText = "(";
            for (int i = 0; i < GridView1.Rows.Count; i++)
            {
                CheckBox cbx = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
                if (cbx.Checked == true)
                {
                    sqlText = sqlText + Convert.ToString(GridView1.DataKeys[i].Value) + ","; 
                }
            }
            sqlText = sqlText.Substring(0, sqlText.Length - 1) ; 
            sqlText ="Delete From Account where A_ID in( '" + sqlText+"')";        try
            {
               
                SqlConnection conn = dd.createconnection();
                conn.Open();
                SqlCommand cmd = new SqlCommand(sqlText, conn);
                int delCount = Convert.ToInt32(cmd.ExecuteNonQuery());
              
                Response.Write("<script>alert('共删除" + delCount + "条数据');</script>");
                databind();
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
    选中的怎么删除不了