public partial class Form4 : Form
    {
        DataTable myTable;//数据表字段
        SqlConnection conn;//连接字符串字段
        string tableName;//表名称字段
        int columnCount = 0;//记录表的列的个数
        /// <summary>
        /// 新的窗体
        /// </summary>
        /// <param name="conn">从另一个窗体传过来连接字符串</param>
        /// <param name="tableName">从另一个窗体传过来的表名字</param>
        /// <param name="mytable">从另一个窗体传过来传过来的数据库名字</param>
        public Form4(SqlConnection conn,string tableName,DataTable mytable)
        {
            InitializeComponent();
            this.tableName = tableName;
            this.myTable = mytable;
            this.conn = conn; 
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
            string sqlstr="select * from syscolumns where id=object_id('"+tableName+"')";
            SqlCommand comm= new SqlCommand(sqlstr,conn);
            comm.CommandType = CommandType.Text;
            SqlDataReader myReader = comm.ExecuteReader();
            DataTable tempTable = new DataTable();//新建一个表,用来存放传过来的参数表经过修改后数据的对比
            while (myReader.Read())
            {
                tempTable.Columns.Add(myReader["name"].ToString());
                tempTable.Columns.Add(myReader["name"].ToString()+"新数据");            }
            tempTable.Columns.Add("状态");
            myReader.Close();            //如果只针对一个表的话可以用下面的代码实现,但是要对所有表都有用,就不知道怎么搞了,因为    tempTable.Rows.Add方法没有参数为参数数据的重载方法,而这参数的个数是有传过来的表的列的数目来决定的,该
怎么写。
            foreach (DataRow dr in mytable.Rows)
            {
                switch (dr.RowState)
                {
                       //只举例添加的情况,假设传过来的表只有2个字段
                   case DataRowState.Added:
                       tempTable.Rows.Add(dr[0, DataRowVersion.Original].ToString(),dr[0, DataRowVersion.Current].ToString(),dr[1, DataRowVersion.Original].ToString(),dr[1, DataRowVersion.Current].ToString(),dr.RowState.ToString());
                       break;
              }
            }
           dataGridView1.DataSource = tempTable;
          
            
        }