请问DATAGRIDVIEW自代的 编辑,删除,更新 怎么用?
比如 删除  为什么表面上是删除了  可实际上数据库里是没删  (程序从运行一下就又恢复原样了)需要设置什么吗?

解决方案 »

  1.   

    应该有什么事件发生吧!我做更新删除操作,一般都是通过按钮来实现的,直接在datagridview上更改,或者删除来更新数据库,我倒是还没有做过
      

  2.   

    你又没进行数据库的操作,怎么能删除呢,你要取得DATAGRIDVIEW取得更新的行,然后根据这个行的状态去更新数据库,我想我已经说的很明白了
      

  3.   

    要获取DATAGRIDVIEW的事件,在事件里执行数据库操作
      

  4.   

    删除的话,起码事件里面得有个删除的方法吧,比如执行个Delete的SQL语句~
      

  5.   

    程序如果通过完成通过SqlDataAdapter(Update方法)也可以通过DataGridView的增删改来实现数据源的增删改,不过这个的本质也是通过DataGridView修改时,对DataSource的数据行状态进行进行修改后,自动生成SQL实现的,效率不高,可控性也不好,推荐自已判断行状态,生成SQL实现 (DataRow的RowState属性)
      

  6.   

    在GridView中删除的同时你需要执行delete语句从数据库中删除。不去update后台,就算把Gridview中的数据删完,后台数据库也不会变。
      

  7.   

    修改一下SqlDataSource 的DeleteCommand 属性<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            DeleteCommand="delete from table1 where id=@id">
            <DeleteParameters>
                <asp:Parameter Name="id" />
            </DeleteParameters>
        </asp:SqlDataSource>
    http://www.mybuffet.cn
      

  8.   

    有空  查查 msdn
    里面 都有
      

  9.   

    那就是说DATAGRIDVIEW自代的删除 编辑功能 只是表面的,它不操作数据库,是吗?
    那真不知道它自代的这个删除 有什么实际的作用了  
    在我用自代的编辑修改单元格的值时  要是不符合数据库的字段要求 就会报错 要是只是表面的修改 为什么要符合数据库的字段要求
      

  10.   

    一般是做个checkbox,选择后点击删除,,不提倡用系统自带的删除功能。
      

  11.   

    你这样做的删除,只是删除到DataSet里面的一个数据源,你都没有连接到数据库。
      

  12.   

    using System.Windows.Forms;
    using System.Data.Sql;
    using System.Data.SqlClient;
    using System.Configuration;
    namespace GridViewManagement
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            string connnectionstring = ConfigurationManager.AppSettings["MyApp"].ToString();
            DataTable table;
            SqlDataAdapter adapter;
            public void GetData(string selectcommand)
            {
                try
                {
                    
                     adapter = new SqlDataAdapter(selectcommand, connnectionstring);
                    table = new DataTable();
                    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                    adapter.Fill(table);
                    this.bindingSource1.DataSource = table;
                    dataGridView1.AutoResizeColumns(
                DataGridViewAutoSizeColumnsMode.AllCells);
                }
                catch (SqlException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }        private void Form1_Load(object sender, EventArgs e)
            {
                this.dataGridView1.DataSource = bindingSource1;
                GetData("select * from [USER]");
                MessageBox.Show(connnectionstring);
            }        private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
            {
                
            }        private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
            {
                DialogResult result = MessageBox.Show("确定要删除记录吗?", "请确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    table.Rows[e.RowIndex].Delete();
                }
                SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
                adapter.Update(table);
            }
        }
    }
      

  13.   

    SqlCommandBuilder builder = new SqlCommandBuilder(adapter); 
                adapter.Update(table); 
    不要在这里 喊
    你看清楚 这句话  行不
      

  14.   

    楼主 你要搞清楚
    datagridview  是一个 绑定控件 
    你删除 table  的时候 
    只是 删除 数据集中 的一条记录(只是内存中的数据)
     SqlCommandBuilder builder = new SqlCommandBuilder(adapter); 
                adapter.Update(table); 
    这句话
    可以根据 dataset  中的改变  来改变 数据库!!
      

  15.   

    LZ 该是没 配置 数据源里面的 sql 语句
      

  16.   


    我没找到数据源里面有配置SQL语句的地方  指点下
      

  17.   


    现在我新建一个DATAGRIDVIEW1  然后新建数据源 连接到数据库上的TEST表(这些都是直接点的 没有代码)然后我选中控件 直接有的删除功能(它的删除功能 选中行 然后按DELETE就行了)现在我想同时 实现对数据库的操作 应该怎么做?
      

  18.   

    不明白 winform 下的DATAGRIDVIEW
    有自带的添删改查 吗
    楼主 是不是 搞混啦!!!
      

  19.   

    真有点混了  我记得ASP.NET的自代的 就是连同数据库一同更新了