http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5237|回复: 8

[错误与异常] 大神帮帮忙C###datagridview,菜鸟很无助

[复制链接]
发表于 2014-5-17 13:05:38 | 显示全部楼层 |阅读模式
本帖最后由 沙子0329 于 2014-5-17 13:23 编辑

DataGrideView给表添加一行数据。本来都调试好了,可是`````换了了个数据源。大BUG出现了......
更多图片 小图 大图
组图打开中,请稍候......


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2014-5-17 13:08:30 | 显示全部楼层
我是初学者  求大神帮帮忙
 楼主| 发表于 2014-5-17 13:24:08 | 显示全部楼层
帮帮忙
回复

使用道具 举报

 楼主| 发表于 2014-5-17 13:35:53 | 显示全部楼层
有人吗
回复

使用道具 举报

发表于 2014-5-17 13:53:54 | 显示全部楼层
贴下代码看看
 楼主| 发表于 2014-5-17 14:07:02 | 显示全部楼层
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlTypes;
using System.Data.SqlClient;

namespace studentmanagement
{
    public partial class informanage : Form
    {
        SqlDataAdapter adapter;
        DataTable selectedTable;

        public informanage()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Dispose();
            teacherform teacherform = new teacherform();
            teacherform.Show();
        }

        private void informanage_Load(object sender, EventArgs e)
        {
            // TODO:  这行代码将数据加载到表“sinfodatebaseDataSet.sinfor”中。您可以根据需要移动或删除它。
          this.sinforTableAdapter.Fill(this.sinfodatebaseDataSet.sinfor);
           // BindingSource sinforBindingSource = new BindingSource();
           // sinforBindingSource.DataSource = sinfodatebaseDataSet.sinfor;
            bindingNavigator1.BindingSource = bindingSource1;
            for (int i = 0; i < sinfodatebaseDataSet7.Tables.Count; i++)
            {
                listBox1.Items.Add(sinfodatebaseDataSet7.Tables[i].TableName);
            }
            listBox1.SelectedIndex = 0;
            dataGridView1.AllowUserToAddRows = false;
            dataGridView1.AllowUserToDeleteRows = false;

            ;
            //sinfodatebaseDataSet1TableAdapters.sinforTableAdapter adapter = new sinfodatebaseDataSetTableAdapters.sinforTableAdapter();
            //adapter.Fill(this.sinfodatebaseDataSet.sinfor);

        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                bindingSource1.AddNew();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("请单击选择要删除的行");
            }
            else
            {
                if (MessageBox.Show("确定要删除这行吗", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    for (int i = dataGridView1.SelectedRows.Count - 1; i >= 0; i--)
                    {
                        dataGridView1.Rows.Remove(dataGridView1.SelectedRows[i]);
                    }
                }

            }
        }

        private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
        {

        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int index = listBox1.SelectedIndex;
            selectedTable = sinfodatebaseDataSet7.Tables[index];
            string queryString = "select * from " + selectedTable.TableName;
            adapter = new SqlDataAdapter(queryString, Properties.Settings.Default.sinfodatebaseConnectionString);
            SqlCommandBuilder builer = new SqlCommandBuilder(adapter);
            adapter.InsertCommand = builer.GetInsertCommand();
            adapter.DeleteCommand = builer.GetDeleteCommand();
            adapter.UpdateCommand = builer.GetUpdateCommand();
            adapter.Fill(selectedTable);
            bindingSource1.DataSource = selectedTable;
            dataGridView1.DataSource = bindingSource1;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                this.Validate();
                bindingSource1.EndEdit();
                adapter.Update(sinfodatebaseDataSet7.Tables[listBox1.SelectedIndex]);
                MessageBox.Show("保存成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "保存失败");
            }
        }
 楼主| 发表于 2014-5-17 14:09:40 | 显示全部楼层

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlTypes;
using System.Data.SqlClient;

namespace studentmanagement
{
    public partial class informanage : Form
    {
        SqlDataAdapter adapter;
        DataTable selectedTable;

        public informanage()
        {
            InitializeComponent();
            this.StartPosition = FormStartPosition.CenterScreen;
            dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.Dispose();
            teacherform teacherform = new teacherform();
            teacherform.Show();
        }

        private void informanage_Load(object sender, EventArgs e)
        {
            // TODO:  这行代码将数据加载到表“sinfodatebaseDataSet.sinfor”中。您可以根据需要移动或删除它。
          this.sinforTableAdapter.Fill(this.sinfodatebaseDataSet.sinfor);
           // BindingSource sinforBindingSource = new BindingSource();
           // sinforBindingSource.DataSource = sinfodatebaseDataSet.sinfor;
            bindingNavigator1.BindingSource = bindingSource1;
            for (int i = 0; i < sinfodatebaseDataSet7.Tables.Count; i++)
            {
                listBox1.Items.Add(sinfodatebaseDataSet7.Tables.TableName);
            }
            listBox1.SelectedIndex = 0;
            dataGridView1.AllowUserToAddRows = false;
            dataGridView1.AllowUserToDeleteRows = false;

            ;
            //sinfodatebaseDataSet1TableAdapters.sinforTableAdapter adapter = new sinfodatebaseDataSetTableAdapters.sinforTableAdapter();
            //adapter.Fill(this.sinfodatebaseDataSet.sinfor);

        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                bindingSource1.AddNew();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("请单击选择要删除的行");
            }
            else
            {
                if (MessageBox.Show("确定要删除这行吗", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    for (int i = dataGridView1.SelectedRows.Count - 1; i >= 0; i--)
                    {
                        dataGridView1.Rows.Remove(dataGridView1.SelectedRows);
                    }
                }

            }
        }

        private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
        {

        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int index = listBox1.SelectedIndex;
            selectedTable = sinfodatebaseDataSet7.Tables[index];
            string queryString = "select * from " + selectedTable.TableName;
            adapter = new SqlDataAdapter(queryString, Properties.Settings.Default.sinfodatebaseConnectionString);
            SqlCommandBuilder builer = new SqlCommandBuilder(adapter);
            adapter.InsertCommand = builer.GetInsertCommand();
            adapter.DeleteCommand = builer.GetDeleteCommand();
            adapter.UpdateCommand = builer.GetUpdateCommand();
            adapter.Fill(selectedTable);
            bindingSource1.DataSource = selectedTable;
            dataGridView1.DataSource = bindingSource1;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                this.Validate();
                bindingSource1.EndEdit();
                adapter.Update(sinfodatebaseDataSet7.Tables[listBox1.SelectedIndex]);
                MessageBox.Show("保存成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "保存失败");
            }
        }
 楼主| 发表于 2014-5-17 14:10:11 | 显示全部楼层
沙子0329 发表于 2014-5-17 14:09
using System;
using System.Collections.Generic;
using System.ComponentModel;

麻烦你啦  先谢谢你呐
发表于 2014-5-19 08:50:23 | 显示全部楼层
我只是路过看看的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 15:26

© 2014-2021

快速回复 返回顶部 返回列表