我手动创建一个Datatable,  将它作为Grideview的数据源 , 现在要把grideview的值全部添加到数据库,请问各位大侠该怎么实现。  还有删除的时候没有主键值, 获得行号后怎么删除。
        DataTable dt = null;
        static string proCode = null;
        static string proName = null;        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {                if (Session["MemberLogin"] == null)
                {
                    //Session["MemberLogin"] = "zengjiaqin";
                    Maunite.Common.MessageBox.ShowAndRedirect(Page, "请您先登录", "/login.aspx?url=" + Request.RawUrl);
                }                else
                {
                    proCode = Request.QueryString["ProCode"].ToString();
                    proName = Request.QueryString["proName"].ToString();
                    int count = Convert.ToInt32(Request.QueryString["count"].ToString());
                    InntData(proCode, proName, count);                }
            }        }        /// <summary>
        /// 
        /// </summary>
        /// <param name="proCode">产品编号</param>
        /// <param name="proName">产品名称</param>
        /// <param name="count">申请数量</param>
        public void InntData(string proCode, string proName, int count)
        {            createTable();            for (int i = 0; i < count; i++)
            {
                DataRow dr = dt.NewRow();
                dr["ProID"] = proCode;
                dr["proName"] = proName;
                dr["Applicant"] = Session["MemberLogin"].ToString();
                dr["MachineCode"] = "";
                dr["IsOff"] = 0;
                dr["SN"] = "";
                dt.Rows.Add(dr);
            }
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }
        /// <summary>
        /// 创建表结构
        /// </summary>
        public DataTable createTable()
        {
            dt = new DataTable("MYSN");
            DataColumn dc1 = new DataColumn("ProID", Type.GetType("System.String"));
            DataColumn dc2 = new DataColumn("ProName", Type.GetType("System.String"));
            DataColumn dc3 = new DataColumn("Applicant", Type.GetType("System.String"));
            DataColumn dc4 = new DataColumn("MachineCode", Type.GetType("System.String"));
            DataColumn dc5 = new DataColumn("IsOff", Type.GetType("System.Int32"));
            DataColumn dc6 = new DataColumn("SN", Type.GetType("System.String"));
            dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            dt.Columns.Add(dc3);
            dt.Columns.Add(dc4);
            dt.Columns.Add(dc5);
            dt.Columns.Add(dc6);
            this.ViewState.Add("dt", dt);
            return dt;
        }        /// <summary>
        /// 添加新行
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            DataTable dt = (DataTable)this.ViewState["dt"];            DataRow dr = dt.NewRow();
            dr["ProID"] = proCode;
            dr["proName"] = proName;
            dr["Applicant"] = Session["MemberLogin"].ToString();
            dr["MachineCode"] = "";
            dr["IsOff"] = 0;
            dr["SN"] = "";
            dt.Rows.Add(dr);
            dt.AcceptChanges();            GridView1.DataSource = dt;
            GridView1.DataBind();
        }