窗体一共有2个按钮,一个是显示数据,一个是更新数据库。单击[显示数据],可以将数据显示在dataGrid控件中,在对dataGrid控件显示的数据进行更新后,按[更新数据库]可以将数据更新到数据库中。[更新数据库]这个按钮的代码该怎么写?希望大家指点一下。

解决方案 »

  1.   

    1 把“显示数据”的时候把数据填充到一个DataSet里面,再把这个DataSet个DataGrid进行绑定
    2 用SqlDataAdapter来进行更新
      

  2.   

    Modified取得所修改過的行,然後UPDATA到數據庫中
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Text;
    using DAL.IDAL;
    using DBProcess;
    using System.Data;
    using System.Data.SqlClient;namespace DAL.SqlServerDAL
    {
        /// <summary>
        /// 数据库数据处理
        /// 编码 : Walker
        /// 时间 : 2008-04-02
        /// </summary>
        public class PhoneInfo : IPhoneInfo
        { /// <summary>
            /// 插入新的商品信息
            /// </summary>
            /// <param name="phoneInfo">商品信息</param>
            public void InsertPhoneInfo(Model.PhoneInfo phoneInfo)
            {
                //插入商品的Sql命令
                string insertSql = "insert into ProductsInfo values(@PhoneID,@PhoneName,@PhoneType,@PhoneUnit,@PhoneColor,@PhonePrice,@PhoneSize,@PhoneStyle,@PhoneOS,@ProvideID,@StoreAmount,@StoreID)";            //设置参数
                SqlParameter[] parasInsert = new SqlParameter[]{
                    new SqlParameter("@PhoneID",SqlDbType.Char),
                    new SqlParameter("@PhoneName",SqlDbType.VarChar),
                    new SqlParameter("@PhoneType",SqlDbType.VarChar),
                    new SqlParameter("@PhoneUnit",SqlDbType.Char),
                    new SqlParameter("@PhoneColor",SqlDbType.Char),
                    new SqlParameter("@PhonePrice",SqlDbType.Money),
                    new SqlParameter("@PhoneSize",SqlDbType.VarChar),
                    new SqlParameter("@PhoneStyle",SqlDbType.VarChar),
                    new SqlParameter("@PhoneOS",SqlDbType.VarChar),
                    new SqlParameter("@ProvideID",SqlDbType.Int),
                    new SqlParameter("@StoreAmount",SqlDbType.Int),
                    new SqlParameter("@StoreID",SqlDbType.Int)
                };
                //为参数赋值
                parasInsert[0].Value = phoneInfo.PhoneID;
                parasInsert[1].Value = phoneInfo.PhoneName;
                parasInsert[2].Value = phoneInfo.PhoneType;
                parasInsert[3].Value = phoneInfo.PhoneUnit;
                parasInsert[4].Value = phoneInfo.PhoneColor;
                parasInsert[5].Value = phoneInfo.PhonePrice;
                parasInsert[6].Value = phoneInfo.PhoneSize;
                parasInsert[7].Value = phoneInfo.PhoneStyle;
                parasInsert[8].Value = phoneInfo.PhoneOS;
                parasInsert[9].Value = phoneInfo.ProvideID;
                parasInsert[10].Value = phoneInfo.StoreAmount;
                parasInsert[11].Value = phoneInfo.StoreID;
                //执行插入
                SqlHelper.ExecuteSqlCommond(insertSql , parasInsert);
            }        /// <summary>
            /// 更新商品信息的方法
            /// </summary>
            /// <param name="phoneInfo">商品信息</param>
            public void UpdatePhoneInfo(Model.PhoneInfo phoneInfo)
            {
                //更新商品信息的Sql命令
                string updateSql = "update ProductsInfo set PhoneName=@PhoneName,PhoneType=@PhoneType,PhoneUnit=@PhoneUnit,PhoneColor=@PhoneColor,PhonePrice=@PhonePrice,PhoneSize=@PhoneSize,PhoneStyle=@PhoneStyle,PhoneOS=@PhoneOS,ProvideID=@ProvideID,StoreAmount=@StoreAmount,StoreID=@StoreID where PhoneID = @PhoneID";            //设置参数
                SqlParameter[] updateParas = new SqlParameter[]{
                    new SqlParameter("@PhoneName",SqlDbType.VarChar),
                    new SqlParameter("@PhoneType",SqlDbType.VarChar),
                    new SqlParameter("@PhoneUnit",SqlDbType.Char),
                    new SqlParameter("@PhoneColor",SqlDbType.Char),
                    new SqlParameter("@PhonePrice",SqlDbType.Money),
                    new SqlParameter("@PhoneSize",SqlDbType.VarChar),
                    new SqlParameter("@PhoneStyle",SqlDbType.VarChar),
                    new SqlParameter("@PhoneOS",SqlDbType.VarChar),
                    new SqlParameter("@ProvideID",SqlDbType.Int),
                    new SqlParameter("@StoreAmount",SqlDbType.Int),
                    new SqlParameter("@StoreID",SqlDbType.Int),
                    new SqlParameter("@PhoneID",SqlDbType.Char)
                };
                //为参数赋值
                updateParas[0].Value = phoneInfo.PhoneName;
                updateParas[1].Value = phoneInfo.PhoneType;
                updateParas[2].Value = phoneInfo.PhoneUnit;
                updateParas[3].Value = phoneInfo.PhoneColor;
                updateParas[4].Value = phoneInfo.PhonePrice;
                updateParas[5].Value = phoneInfo.PhoneSize;
                updateParas[6].Value = phoneInfo.PhoneStyle;
                updateParas[7].Value = phoneInfo.PhoneOS;
                updateParas[8].Value = phoneInfo.ProvideID;
                updateParas[9].Value = phoneInfo.StoreAmount;
                updateParas[10].Value = phoneInfo.StoreID;
                updateParas[11].Value = phoneInfo.PhoneID;
                //执行更新
                SqlHelper.ExecuteSqlCommond(updateSql , updateParas);
            }        /// <summary>
            /// 删除商品信息
            /// </summary>
            /// <param name="PhoneID">商品编号</param>
            public void DeletePhoneInfo(string PhoneID)
            {
                //删除商品信息的Sql命令
                string deleteSql = "delete from ProductsInfo where PhoneID=" + "'" + PhoneID + "'";
                //执行删除
                SqlHelper.ExecuteSqlCommond(deleteSql);
            }      }
    }